예외 페이지의 필요성
JAVA언어에서 아마도 예외처리에 대해서 사전 학습을 했을 것 입니다. JSP, Servlet에서도 예외가 발생 할 수 있습니다.
예외적인 상황이 발생했을 경우 웹컨테이너(톰캣)에서 제공되는 기본적인 예외 페이지가 보여 진다면, 사용자로 하여금 뭔가 불쾌한 느낌이 들면서, 다시는 해당 사이트에 접속하려 들지 않을 것 입니다. 따라서 약간은 다소 딱딱한 에러 페이지를 보다 친근한 느낌이 느껴지는 페이지로 유도 할 수 있습니다.
예외를 발생시키는 페이지
page지시자를 이용한 예외 처리
<%@ page errorPage= "errorPage.jsp"%> // 예외가 발생되었을때 페이지 지시자를 통해 errorPage.jsp로 넘어감
<%
int i = 40/0; ---->//0으로 나누었기 때문에 예외가 발생됨
%>
errorPage.jsp(예외 페이지)
<%@ page isErrorPage = "true"%> 이 페이지는 예외가 발생되었을 때 보여주는 페이지이므로 is에러페이지를 true해야함 기본값은 false
<% response.setStatus(200); %> 연산잘못됨이 출력되는것을 방지하기 위함
페이지에 status값이 있는데 500은 연산이 잘못되었을때 나타난다.
200은 정상적으로 완료되어진 페이지를 나타낸다.
서버에서 이렇게 안해주면 500으로 되는경우가 있다.
<%= exception.getMessage() %> exception.객체를 사용할수 있게 된다. page isErrorPage가 false이면 exception객체를 사용할 수 없다.
web.xml파일을 이용한 예외 처리
<error-page>
<error-code>404</error-code> 404웹페이지를 찾을수 없다
<location>/error404.jsp</location> 에러 발생시 error404.jsp페이지로 이동
<error-page>
<error-page>
<error-code>500<error-code> 연산을 잘못했다
<location>/error500.jsp</location> 에러 발생시 error500.jsp페이지로 이동
이때 페이지 지시자 사용하면 안됨