conf/web.xml 파일에 다음과 같이 추가


<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app>

...

...

 

  <!-- error page setup -->
 <error-page>
  <error-code>404</error-code>
  <location>/error/code404.jsp</location>
 </error-page>


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

...

...

</web-app>

 

 

설정하고 나서 code404.jsp , code500.jsp 페이지를 해당디렉토리에 만든다.

JSP 스크립트립 부분은 제외하고 나머진 알아서 디자인 하면된다.

 

code404.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%

response.setStatus(HttpServletResponse.SC_OK);

%>
<html>
<head>
<title>404 에러 페이지</title>
</head>
<body>
요청하신 페이지는 존재하지 않습니다.
</body>
</html>

 

code500.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%

response.setStatus(HttpServletResponse.SC_OK);

%>    
<html>
<head>
<title>500 에러 페이지</title>
</head>
<body>
서비스 과정에서 에러가 발생했습니다.<br>

빠른 시일안에 문제를 해결하겠습니다.
</body>
</html>

 

 

에러 발생 후 처리 예제

예) 로그인시 해당 아이디를 가진 사용자의 이름을 파싱하지 못하는 에러 발생.

 

infoForm.html


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="viewInfo.jsp">
 이 름 : <input type="text" name="name" size="20"> <br>
 나 이 : <input type="text" name="age" value="20"> <br>
<hr>
* P.S : 나이는 숫자만 입력해야 합니다. 
<hr>
<input type="submit" value="전송">
</form>

</body>
</html>

 

viewInfo.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page errorPage="error02.jsp" %>
<%! 
String s_name; 
int age;

%>   
<%
//post 전송 방식일 경우 파라메터에 대한 한글 처리
request.setCharacterEncoding("UTF-8");

s_name = request.getParameter("name");
age = Integer.parseInt(request.getParameter("age"));

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3> 회원 정보 출력 </h3><hr>
당신의 이름은 <%= s_name %>입니다.<br>
당신의 나이는 <%= age %>살입니다.<br>
</body>
</html>

 

error02.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page isErrorPage="true"%>   
<% 
response.setStatus(HttpServletResponse.SC_OK);
%>     
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table align="center">
<tr bgcolor="#aaaaaa">
다음과 같은 에러가 발생하였습니다
</tr>
<tr>
<%= exception.getMessage() %>
</tr>
<table>
</body>
</html>

 [출처] http://www.cyworld.com/everysons/2352294

+ Recent posts