웹 개발 기초/자바 웹을 다루는 기술

에러 코드에 따른 예외 페이지 지정

sungw00 2023. 2. 28. 10:45
728x90

web.xml에서 xml로 각각의 에러 코드에 대한 예외 처리 페이지를 지정하는 방법

<error-page>
	<error-code>오류코드</error-code>
    <location>오류 페이지 위치</location>
</error-page>

web.xml에 오류 페이지를 지정하는 실습

1. err 폴더를 생성, number.jsp, error_404.jsp, error_500.jsp 파일 작성

<%-- number.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	int num = Integer.parseInt(request.getParameter("num")); <%-- 강제로 예외를 발생시킴 --%>
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>테스트 페이지</title>
</head>
<body>
	<h1>쇼핑몰 중심 JSP 입니다!!!</h1>
</body>
</html>
<%-- error_404.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>404 예외 처리 페이지</title>
</head>
<body>
	<h1>요청하신 페이지는 존재하지 않습니다.</h1>
</body>
</html>
<%-- error_500.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>500 예외 처리 페이지</title>
</head>
<body>
	<img src="../image/pic1.png"/><br> <%-- 한 단계 위에 있는 image 폴더의 이미지를 표시 --%>
	<h1>죄송합니다. 서비스 실행 중 오류가 발생했습니다.</h1>
	<h1>잠시 후 다시 시도해 보세요.</h1>
</body>
</html>

 

2. 존재하지 않는 num.jsp 요청하여 결과 확인

http://localhost:8090/pro12/test02/num.jsp 요청 결과

 

 

실행 중 예외를 발생시키는 http://localhost:8090/pro12/test02/number.jsp 를 요청했을 때


만약 한 개의 JSP 페이지에 페이지 디렉티브의 errorPage 속성과 web.xml이 같이 지정되어 있으면 페이지 디렉티브의 errorPage가 우선적으로 나타난다.

728x90