프로그래밍 언어/자바 웹

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

· 코딩마이데이

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

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

 

실제로 web.xml에 오류 페이지를 지정하여 실습해 보겠습니다.

1. WebContent 하위에 오류 페이지들이 위치할 err 폴더를 만들고 error_404.jsp, err_500.jsp 파일을 준비합니다.

실습 파일 위치

 

2. web.xml에 <error-page> 태그를 이용해 각각의 에러 코드에 대해 처리할 오류 페이지가 있는 경로를 지정합니다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
	<error-page>
		<error-code>404</error-code>
		<location>/error/error_404.jsp</location>
	</error-page>
	
	<error-page>
		<error-code>500</error-code>
		<location>/error/error_500.jsp</location>
	</error-page>
</web-app>

 

3. 404 오류를 처리하는 JSP 페이지인 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>

 

4. 500 오류를 처리하는 JSP 페이지인 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/duke.png" /><br>
	<h1>죄송합니다. 서비스 실행 중 오류가 발생합니다.</h1>
	<h1>잠시 후 다시 시도해 보세요.</h1>
</body>
</html>

 

5. 브라우저 요청 시 예외를 발생시키는 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>

 

6. 이제 각각의 예외를 고의로 발생시켜 볼까요? 먼저 존재하지 않는 http://localhost:8090/pro12/test02/num.jsp를 요청한 결과를 확인해 봅시다.

존재하지 않는 페이지를 요청한 경우

 

7. 실행 중 예외를 발생시키는 http:localhost:8090/pro12/number.jsp를 요청합니다.

JSP 페이지 처리 중 500 오류가 발생한 경우