오류 페이지 처리 순서

조수경·2022년 1월 5일
0

JSP

목록 보기
10/45

오류 페이지 처리 순서

우선순위1. page 디렉티브의 errorPage 속성 사용(전용 오류 처리)
<%@ page errorPage="/error/noParamEx.jsp" %>이게 없을때 2로 넘어감
우선순위2. web.xml 파일의 exception-file

<error-page>
    <exception-type>java.lang.NullPointerException</exception-type>
    <location>/error/500.jsp</location>
  </error-page>

우선순위3. web.xml 파일의 error-code(별도 오류 처리)

<error-page>
  <error-code>404</error-code>
  <location>/error/404.jsp</location>
</error-page>
<error-page>
  <error-code>500</error-code>
  <location>/error/500.jsp</location>
</error-page>

우선순위4. 우선순위1~3까지 아무것도 안했다면,,, 웹컨터이너(tomcat)가 제공하는
기본 오류 페이지를 보여줌

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page errorPage="/error/noParamEx.jsp" %><!-- 오류가 나면 요청의 흐름이 이동됨 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>파라미터가 없는 오류가 발생함</title>
</head>
<body>
/error/noParamEx.jsp를 생성하여 오류 처리<br />
<pre>

</pre>
<% 
//memId=a001과 같은 파라미터가 없을 시 null을 toUpperCase하는 과정에서 오류발생
String memId = request.getParameter("memId").toUpperCase();
%>
</body>
</html>

인터넷 익스플로러는 오류 페이지의 길이가 513 바이트보다 작으면
자체적으로 제공하는 HTTP 오류 메시지를 화면에 출력
그래서 에러 페이지의 길이가 513 바이트 이상이 되도록 해주어아 함
그래서 주석에 지금처럼 아무 글이나 적어서 513 바이트 이상이 되도록 해주어아 함.

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<title>예외 발생</title>
</head>
<body>

요청 처리 과정에서 예외가 발생했습니다.<br />
빠른 시간 내에 문제를 해결하도록 하겠습니다.<br />

<p>
오류 타입 : <%=exception.getClass().getName()%><br />
오류 메시지 : <b><%=exception.getMessage()%></b>

</p>

</body>
</html>

profile
신입 개발자 입니다!!!

0개의 댓글