본문 바로가기

개발자노트/웹

HTML - JSP 에러 처리 페이지 ( 예외처리 )

400대 에러

 

원인 

- 클라이언트의 문제

- 주로 없는페이지를 요청할 때

해결방안

- 있는 페이지를 요청

서버 측에서 페이지를 생성


500대 에러

원인

- 로직상에서 발생하는 모든 문제에 대해 500 에러를 발생시킴


해결방안

- page 지시어 isErrorPage, errorPage 속성을  통해 설정 가능

 

 

errorPage, isErrorPage 사용방법 

1. 에러가 발생할 수 있는 페이지 상단에 error가 발생했을 때 수행 될 페이지 요소경로를 작성한다.

( 여기서 나는 String 값을 int로 형변환을 억지로 하려고 해서 에러를 뜨게 했음 - 아래 코드 참고 )

errorPage 임포트

2. error가 발생했을 때 수행 될 페이지 상단에는 isErrorPage="true" 요소를 작성한다.

isErrorPage 임포트

3. ErrorPage.jsp(여기서 나는 NewFile.jsp) 에는 에러가 발생했을 때의 내용을 작성한다.

 

 

 

 

수행결과 

ErrorPageTest

 

에러 발생시키는 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="NewFile.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 발생 페이지</title>
</head>
<body>

<h1>테스트 중입니다....
</h1>
<%
	// 컴파일은 정상적으로 수행되나,
	// 실행시키면 에러가 발생하는 코드
	// 아에 문자열인 msg를 int로 형변환을 하려 해서 오류가 발생함 
	String msg="ErrorPageTest";
	int num=Integer.parseInt(msg);
%>

</body>
</html>

 

ErrorPage 코드

<%@ 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>

<h1>처리중에 문제가 발생했습니다!</h1>
<hr>
<%=exception%> <!-- 내장객체 -->
</body>
</html>