에러 처리

JSP 2016. 3. 4. 16:18

에러 처리


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. 버퍼와 에러 페이지

에러 페이지는 버퍼가 플러시 되기 전에 처리되어야 한다.












Posted by netyhobby
,