정보보안공부

JSP_day12 본문

JSP

JSP_day12

Steady_sp 2017. 9. 23. 02:27

<에러 처리>

 

1.  page 디렉티브의 errorPage 속성에서 지정한 에러 페이지를 보여준다.

 

 

 

--> page1.jsp 파일 작성한다. 실행하면 10을 0으로 나눌수 없기때문에 아래와 같은 에러가 발생한다.

 

 

--> 에러 처리를 하기위해 실행하려는 page1.jsp 파일에

<%@ page errorPage="error/error.jsp" %>를 입력하면 에러가 발생했을 때error/error.jsp 위치에 있는 error.jsp파일 페이지를 보여준다.

 

 

--> error폴더안에 error.jsp파일을 만들어서 에러가 발생했을때 보여줄 문구를 작성한다.

 

 

--> page1.jsp파일을 실행하면 error.jsp파일의 문구를 보여준다.

 

 

--> <%@ page isErrorPage="true" %> 이렇게 지정하면 아래와 같이 IE에서는 나타나지 않는다. 에러페이지의 크기가 512바이트 이하면 IE자체의 에러페이지를 보여준다. 512바이트가 넘으면 작성한 문구를 출력한다.

 

 

--> 에러페이지가 512바이트 이하일때의 에러화면

 

 

--> <%@ page isErrorPage="true" %>를 작성하면 <%=exception.getMessage() %>을 이용해 에러메세지를 출력할 수 있다.

--> <!-- 나는 IE 나를 골탕먹이다니 나빠요~~~~~ -->는 512바이트를 넘기기 위해 작성한 것이다.

--> 실행하면 아래와 같은 화면이 나타난다.

 

--> /by zero라는 에러메세지와, 512바이트가 넘어가서 원하는 문구를 출력하였다.

 

2. JSP 페이지에서 발생한 예외 타입이 web.xml 파일의 <exception-type>에서 지정한 예외 타입과 동일한 경우 지정한 에러 페이지를 보여준다.

 

--> page2.jsp 파일을 만들어놓는다.

 

 

--> web.xml파일에 error-page안에 exception-type과 location으로 지정한 에러 페이지의 위치를 적어놓는다.

 

 

--> 지정한 에러페이지 위치에 원하는 문구를 작성한다.

 

--> page2.jsp파일 실행시 위와같은 화면이 출력된다.

 

3. JSP 페이지에서 발생한 에러 코드가 web.xml 파일의 <error-code>에서 지정한 에러 코드와 동일한 경우 지정한 에러 페이지를 보여준다.

 

 

--> error-page안에 error-code와 location을 404일때와 500일때를 표시하기위해 2개씩 작성한다.

--> 404는 없는 페이지를 요청할때

--> 500은 코드에러

 

 

--> error404.jsp는 없는 페이지를 요청했을 때 위화면과 같은 문구를 출력한다.

 

--> page2.jsp123123은 없는 페이지이므로 위와같은 화면을 출력한다.

 

 

 

--> error500.jsp는 코드에러가 났을때 위 화면과 같은 문구를 실행한다.

 

 

--> page2.jsp는 코드에 에러가 있으므로 위와같은 화면을 출력한다.

 

 

 

< 쿠키 - 클라이언트와의 대화>

 

## saveCookie.jsp -> 쿠키 생성하고 확인해보기

 

 

--> 쿠키를 생성할때는 Cookie cookie = new Cookie("쿠키이름", "쿠키값");

--> 쿠키를 생성하면 response.addCookie(cookie변수);를 통해 쿠키를 저장한다.

--> out.println으로 쿠키 이름과 쿠키 값을 출력할 때는 getName() getValue() 메소드 사용

--> URLEncoder.encode("김씨", "UTF-8"); 한글값으로 쿠키값을 저장하기 위한 인코딩처리

--> URLDecoder.decode(cookie2.getValue(), "UTF-8"); 한글값으로 된 쿠기값을 출력하기 위한 디코딩 처리

 

 

## readCookie.jsp -> 쿠키를 읽어들여서 확인하기

 

 

--> Cookie[] cookies = request.getCookie(); 를 이용해 모든쿠키를 읽어 들인다.

--> if ( Cookies != null && cookies.length > 0 ) 은 쿠키가 존재할때를 의미한다.

--> for(Cookie cookie : cookies) 를 이용해 저장되어 있는 쿠키값을 출력한다.

--> URLDecoder.decode(cookie.getValue())를 이용해 한글로된 쿠키값 출력

 

## login.jsp -> 쿠키값을 이용해 아이디 비밀번호 입력후 자동저장시 다음번 로그인할 경우 자동저장한 아이디가 작성되어 있도록해보기

 

 

--> 로그인하기위한 form태그 작성

 

 

--> 실행할경우 위와같은 화면이 출력된다.

 

--> login.jsp에서 입력한 값을 저장할 loginOk.jsp 페이지 작성

--> request.setCharacterEncoding("UTF-8"); 한글로 작성가능하다.

--> String userid password saveid 를 request를 이용해 login.jsp에서의 값을 받아들인다.

--> 예시로 아이디와 패스워드가 같을때 자동저장 되도록 설정해본다.

--> if ( saveid != null && saveid.equals(password) ) 는 자동저장을 체크 했다면

cookie = new Cookie("userid", userid); userid값을 쿠키값으로 저장시킨다.

else이면 cookie = new Cookie("userid",""); userid값을 "" 비어있게 만든다.

--> response.addCookie(cookie);를 통해 쿠키값 저장

--> response.sendRedirect("login.jsp");를 통해 저장한 쿠키값을 login.jsp 파일로 보낸다.

 

 

--> loginOk.jsp에서 보낸 값을 받아들이기위해 login.jsp파일에 위의 내용을 추가한다.

--> readCookie.jsp처럼 모든쿠키를 읽어서 자동저장을 했다면 userid는 getValue()값 을 가지고 isSave는 true로 설정한다.

 

 

--> <%=isSave ? "value=' " + userid + " ' " : " " %> isSave가 참=true이면 userid값은 userid isSave가 거짓이면 userid값은 "" 공백이다.

-> <%=isSave ? "checked='checked' " : " " %> isSave가 참=true이면 checked="checked"에 의해서 체크박스가 체크되어진다. isSave가 거짓이면 checked값 "" 공백이다.

 

 

--> 아이디와 암호를 같이 입력한뒤 자동 저장 체크후 로그인했을때

--> 아래와 같이 아이디가 입력되있고 아이디 자동 저장도 체크되어있다.

 

 

 

 

 

 

'JSP' 카테고리의 다른 글

JSP_day14  (0) 2017.09.27
JSP_day13  (0) 2017.09.26
JSP_day09_Gson을 이용해 온라인 설문조사 만들기  (0) 2017.09.19
JSP_8. Gson  (0) 2017.09.19
JSP_7. Jsoup  (0) 2017.09.15
Comments