<예외 페이지>
예외적인 상황이 발생했을 경우 뜨는 페이지
웹 컨테이너(톰캣) 에서 제공되는 기본적인 예외 페이지는 거부감을 불러 일으킬 수 있음.
예외 페이지를 만드는 데에는 두 가지 방법이 있다.
1. Page 지시자를 통해 예외 처리하기
어떠한 웹사이트에서 예외가 발생했을 경우, 어떤 페이지로 돌릴 것인지를 먼저 설정해 주어야 한다.
1 | <%@ page errorPage="errorPage.jsp"%> | cs |
하나만 따로 써줬지만, 보통 이클립스로 처음 jsp 파일을 생성했을 때 기본적으로 나와있는 <%page .... %> 구문에 errorPage 속성을 추가해줘도 된다.
다음과 같이 설정한다. 무언가 예외가 발생하면, errorPage.jsp 페이지로 가게되는데, 그 페이지에는 다음과 같은 내용이 포함되어야 한다.
1 | <%@ page isErrorPage="true"%> | cs |
예외 페이지가 맞다는 것을 설정해주는 구문인데, 기본값이 false 이기 때문에 반드시 true 로 설정해 줘야 한다. 또한 exception 이라는 객체를 사용하려면 true로 설정해주어야만 한다.
1 | <% response.setStatus(200); %> | cs |
페이지가 에러가 났을 때마다 그 번호가 다르다. 500, 404 코드 등은 많은 페이지들을 돌아다니면서 흔히 본 숫자들이다.
200 코드 같은 경우 정상 페이지라는 얘기다. 나는 예외가 생긴 페이지가 아니라는 것을 설정해 주는 것이다.
가끔 웹 컨테이너에서 Status 값을 500으로 초기 설정해버리는 경우가 있기 때문에 200 으로 설정해 줘야 한다.
그렇게 해서 단지 어떤 예외가 발생했는지를 알려주는 페이지라는 것을 알려 주어야 한다.
1 | <%= exception.getMessage() %> | cs |
이 구문은, 어떤 예외가 발생 되었는지를 출력해 준다. 만약
1 | <% int i = 40/0; %> | cs |
위와 같이 0 으로 숫자를 나눠주려는 예외가 발생 되었을 때, 다음과 같은 결과를 나타낸다.
2. web.xml 파일을 이용한 예외 처리
따로 일일히 파일마다 예외 페이지를 설정하지 않아도, 모든 페이지에서 해당 코드의 예외가 일어났을 경우, 설정해준 경로로 간다.
1 2 3 4 5 6 7 8 | <error-page> <error-code>404</error-code> <location>/error404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error500.jsp</location> </error-page> | cs |
web.xml 파일에 다음과 같이 적어준다.
error404 , error500 페이지를 만들어주면 해당 예외가 발생했을 경우 각각의 경로로 이동해 예외 페이지를 보여준다.
참고로, 404는 페이지를 찾을 수 없는 경우에 나는 에러다!
영상 출처 - https://youtu.be/JXHceuYcytw?list=PLYBmkgNU_x7Zj0nCzt5D0qV33C_rU1NK2
'JSP > 정리' 카테고리의 다른 글
[jsp/DB] mysql 과 jsp 연동하기 (0) | 2017.01.17 |
---|---|
[jsp] 자바 빈 (0) | 2017.01.10 |
[jsp] 세션 (1) | 2017.01.10 |
[jsp] 쿠키 (0) | 2017.01.10 |
[jsp] 액션 태그 (0) | 2017.01.03 |
댓글