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>
'프로그래밍 > Server / WAS' 카테고리의 다른 글
Windows Server 2008 R2 특정 URL 불러오는 파일 작성 (0) | 2013.09.09 |
---|---|
tomcat 에러페이지 설정 방법 (0) | 2013.08.16 |
appbase를 이용한 tomcat 설정(docbase 설정) (0) | 2012.08.13 |
tomcat 에서 한글 깨질시 catalina.bat을 이용한 한글깨짐 방지 (0) | 2012.08.13 |
Web 용어 정리 (0) | 2012.08.13 |