에러 처리
1. 익셉션 직접 처리하기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>파라미터 출력</title>
</head>
<body>
name 파라미터 값:
<% try { %>
<%= request.getParameter("name").toUpperCase() %>
<%} catch(Exception ex) {%>
name 파라미터가 올바르지 않습니다.
<%}%>
</body>
</html>
2. 에러 페이지 지정 & 에러 페이지 작성
1) 에러 페이지 지정
<%@ page errorPage = "예외발생시보여질JSP지정" %>
2) 에러 페이지 작성
<%@ page isErrorPage = "true" %>
isErrorPage 속성이 true인 경우 에러 페이지로 지정
exception 기본 객체 : 발생한 예외 객체
exception.getMessage() : 예외 메시지
exception.printStackTrace() : 예외 추적 메시지 출력
IE에서 예외가 올바르게 보여지려면 에러 페이지가 출력한 응답 데이터 크기가 513 바이트보다 커야 함
2. 응답 상태 코드 별 에러 페이지 지정
web.xml 파일에서 설정
<web-app ...>
...
<error-page>
<error-code>에러코드</error-code>
<location>에러페이지의 URI</location>
</error-page>
...
</web-app>
<error-code> : 404, 500 등의 응답 상태 코드
<location> : 해당 응답 상태 코드에 알맞은 에러 화면을 출력할 JSP 페이지 지정
3. 예외 타입 별 에러 페이지 지정
web.xml 파일에서 설정
<web-app ...>
...
<error-page>
<exception-type>예외클래스명</exception-type>
<location>에러페이지의 URI</location>
</error-page>
...
</web-app>
<exception-type> : 예외 클래스의 완전한 이름
<location> : 해당 응답 상태 코드에 알맞은 에러 화면을 출력할 JSP 페이지 지정
4. 에러 페이지 우선 순위
1) page 디렉티브의 errorPage 속성에서 지정한 에러 페이지를 보여준다.
2) JSP 페이지에서 발생한 예외 타입이 web.xml 파일의 <exception-type>에서 지정한 예외 타입과 동일한 경우 지정한 에러 페이지를 보여준다.
3) JSP 페이지에서 발생한 에러 코드가 web.xml 파일의 <error-code>에서 지정한 에러 코드와 동일한 경우 지정한 에러 페이지를 보여준다.
4) 아무것도 해당되지 않을 경우 웹 컨테이너가 제공하는 기본 에러 페이지를 보여준다.
5. 버퍼와 에러 페이지
에러 페이지는 버퍼가 플러시 되기 전에 처리되어야 한다.
'JSP' 카테고리의 다른 글
자바빈과 <jsp:useBean> 액션 태그 (0) | 2016.03.07 |
---|---|
페이지 모듈화 & 요청 흐름 제어 (0) | 2016.03.07 |
기본 객체와 영역: out, pageContext, application, 속성 (0) | 2016.03.04 |
JSP 필수 이해 요소 : JSP 구조, 버퍼, 디렉터리 구성 (1) | 2016.03.04 |
서블릿 기초: @WebServlet 애노테이션과 web.xml (0) | 2016.03.03 |