* 에러 페이지 지정하기.
<%@ page errorPage = "/error/errorPage.jsp" %>
exception 이 발생하면 errorPage 를 통해 지정한 error page 가 보여진다.
* 에러 페이지 작성하기.
다른것은 동일하나 page directive 를 통해 아래와 같이 지정해주어야 한다.
<%@ page isErrorPage = "true" %>
isErrorPage 로 지정된 jsp 는 exception 기본 객체를 사용할 수 있다.
exception 기본 객체는 error page 에서만 사용할 수 있다.
exception 기본 객체는 발생한 exception 에 접근한다.
cf) 익스플로러는 다음의 경우 자체적으로 제공하는 오류 메세지 화면을 출력한다.
응답의 상태 코드가 400, 404나 500 등 에러코드이며, 전체 응답 결과 데이터의 길이가 513 바이트 보다 작을 때.
따라서 익스플로러에서도 custom error 페이지를 보여주고 싶다면 주석 등을 넣어 513 바이트보다 길게 작성해야 한다.
* 응답 상태 코드별로 에러 페이지 지정하기.
web.xml 설정을 통해, 응답 상태 코드별로 에러 페이지를 지정할 수 있다.
<web-app ...>
<error-page>
<error-code>에러코드</error-code>
<location>에러페이지 URI</location>
</error-page>
</web-app>
web.xml 로 설정해준 error page 의 경우 page directive 를 통해 지정해주지 않아도 된다.
* Exception 타입별로 에러 페이지 지정하기.
마찬가지로 web.xml 설정을 통해 가능하다.
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/errorNullPointer.jsp</location>
</error-page>
마찬가지로 error page directive 가 필요 없다.
* 에러 페이지의 우선 순위 및 에러 페이지 지정 형태
에러 페이지의 우선순위는 다음과 같다.
1. page directive 의 errorPage 속성에서 지정한 에러 페이지
2. web.xml 의 exception-type 에서 지정한 에러 페이지
3. web.xml 의 error-code 를 통해 지정한 에러 페이지
4. 기본 에러 페이지.
* 버퍼와 에러 페이지의 관계
에러가 발생하기 전에 버퍼가 플러시되면, 에러가 발생했어도 성공한 것으로 간주될 수 있다.
따라서 버퍼가 플러시 되는 시점 이후 에러가 발생할 수 있다면 버퍼 크기를 늘려야 한다.
'프로그래밍 놀이터 > Web' 카테고리의 다른 글
Chap 10. 클라이언트와의 대화 2 : 세션 (0) | 2015.01.14 |
---|---|
Chap 09. 클라이언트와의 대화 1 : 쿠키 (0) | 2015.01.11 |
Chap 07. 페이지 모듈화와 요청 흐름 제어 (2) | 2015.01.09 |
Chap 06. 기본 객체와 영역 (0) | 2015.01.06 |
Chap 05. 필수 이해 요소 (0) | 2015.01.04 |
댓글