[JSP] 예외처리, 예외페이지
02 Nov 2021 -
1 minute read
-
예외가 발생한 경우 웹 컨테이너에서 제공하는 기본 예외 페이지가 아닌 직접 지정한 페이지가 보이도록 하는 것
-
web.xml 파일을 이용한 예외 처리
-
web.xml 파일
<error-page> <error-code>에러코드</error-code> <location>/에러 처리 페이지 경로</location> </error-page> <!-- ex --> <error-page> <error-code>404</error-code> <location>/error404.jsp</location> </error-page>
<error-page> <error-code>Exception</error-code> <location>/에러 처리 페이지 경로</location> </error-page> <!-- ex --> <error-page> <error-code>java.lang.NullPointerException</error-code> <location>/errorPage.jsp</location> </error-page>
-
예외 페이지 :
<% response.setStatus(200); %>
-
-
page 지시자를 이용한 예외 처리
-
예외가 발생할 페이지 :
<%@ page errorPage="~~.jsp" %>
-
예외 페이지
-
<%@ page isErrorPage="true" %>
-
isErrorPage=”true”설정을 하지 않으면 기본값(false)로 설정되어 실행되지 않음
-
<% response.setStatus(200); %>
-
response.setStatus(200)을 설정하지 않으면 해당 페이지가 아닌 기본 예외 페이지로 이동하기 때문에 설정해줘야 함, 해당 페이지는 예외가 발생하지 않았다고 설정해주는 것
-
-
-
ex)
-
ExceptionTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="ExceptionPage.jsp" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>예외(Exception)</title> </head> <body> <% // 의도적으로 예외 만들기 int i = 100 / 0; %> </body> </html>
-
ExceptionPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>예외 발생</title> </head> <body> <% response.setStatus(200); response.setCharacterEncoding("UTF-8"); %> <%-- 에러발생 <%= exception.getMessage() %> --%> <h3>요청하신 페이지를 찾을 수 없습니다. <br>잠시 후 다시 시도해주세요.</h3> <img alt="error" src="img/error_page.png"> </body> </html>
-
실행결과
-