Language/JSP
D+28 (3) [에러 처리]
구일일구
2022. 8. 31. 20:27
반응형
Chapter08. 에러 처리
에러 처리 방법 : 에러 페이지 지정, 에러 페이지 작성, 응답 상태 코드 별 에러 페이지 지정, 예외 타입 별 에러 페이지 지정 ➡️ 사용자를 위함
에러 페이지 지정하기
<%@ page errorPage = 예외발생시 보여일 JSP 지정 %>
에러 페이지 작성하기
<%@ page isErrorPage = "true" %>
* isErrorPage 속성이 true인 경우, 에러 페이지로 지정함
exception 기본 객체 : 발생한 예외 객체
* exception.getMessage() : 예외 메시지
* exception.printStackTrace(): 예외 추적 메시지 출력
IE에서 예외가 올바르게 보여지려면 에러 페이지가 출력한 응답 데이터 크기가 513 바이트보다 커야한다
* 작으면 인터넷 익스플로러에서 자체적으로 표시하는 결과가 나온다
<!-- 만약 에러 페이지의 길이가 513 바이트보다 작다면,
인터넷 익스플로러는 이 페이지가 출력하는 에러 페이지를 출력하지 않고
자체적으로 제공하는 'HTTP 오류 메시지' 화면을 출력할 것이다.
만약 에러 페이지의 길이가 513 바이트보다 작은데
에러 페이지의 내용이 인터넷 익스폴러에서도 올바르게 출력되길 원한다면,
응답 결과에 이 주석과 같은 내용을 포함시켜서
에러 페이지의 길이가 513 바이트 이상이 되도록 해주어야 한다.
참고로 이 주석은 456 바이트이다.
-->
응답 상태 코드별로 에러 페이지 지정하기
web.xml 파일에서 설정
- <error-code> : 404, 500 등의 응답 상태 코드
- <location> : 해당 응답 상태 코드에 알맞은 에러 화면 출력할 JSP 페이지 지정
예외 타입별로 에러 페이지 지정하기
web.xml 파일에서 설정
– <exception-type> : 예외 클래스의 완전한 이름
– <location> : 해당 응답 상태 코드에 알맞은 에러 화면을 출력할 JSP 페이지 지정
에러 페이지 우선 순위
1.page 디렉티브의 errorPage 속성에서 지정한 에러 페이지를 보여준다.
2.JSP 페이지에서 발생한 예외 타입이 web.xml 파일의 <exception-type>에서 지정한 예외 타입과 동일한 경우 지정한 에러 페이지를 보여준다.
3.JSP 페이지에서 발생한 에러 코드가 web.xml 파일의 <error-code>에서 지정한 에러 코드와 동일한 경우 지정한 에러 페이지를 보여준다.
4.아무것도 해당되지 않을 경우 웹 컨테이너가 제공하는 기본 에러 페이지를 보여준다.
출력 버퍼와 에러 페이지의 관계
에러 페이지는 버퍼가 플러시 되기 전에 처리되어야 함
반응형