[JSP] 6.3 에러 코드별 에러 페이지 작성하기
2022. 4. 8. 13:07ㆍJAVA/Servlet&JSP
WEB-INF/web.xml
<error-page>
<error-code>404</error-code>
<location>/Chapter06/error/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/Chapter06/error/error500.jsp</location>
</error-page>
</web-app>
- 웹 어플리케이션 폴더 기준 : webapps
error/error404.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
/*응답 코드를 200으로 지정한다. 이렇게 응답 코드를 200으로 지정하지 않으면
웹 브라우저에는 404 응답 코드가 전달되며, 이 경우 웹 브라우저는 자체적으로
404 에러일 때 보여주는 화면을 출력한다. 따라서 error404.jsp의 출력
결과가 웹 브라우저에 그대로 출력되도록 하기 위해서는 응답 코드를 200으로 지정해
주어야 한다.(SC_OK의 값이 200이다.)
이 경우는 톰캣의 경우에 해당하며 사용하는 웹 콘테이너에 따라서 이렇게 안 해 줘도
원하는 결과가 출력되기도 한다.*/
response.setStatus(HttpServletResponse.SC_OK);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>404 에러 발생</title>
</head>
<body>
<b>요청한 페이지는 존재하지 않습니다.</b>
</body>
</html>
error/500.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
/*응답 코드를 200으로 지정한다. 이렇게 응답 코드를 200으로 지정하지 않으면
웹 브라우저에는 404 응답 코드가 전달되며, 이 경우 웹 브라우저는 자체적으로
404 에러일 때 보여주는 화면을 출력한다. 따라서 error404.jsp의 출력
결과가 웹 브라우저에 그대로 출력되도록 하기 위해서는 응답 코드를 200으로 지정해
주어야 한다.(SC_OK의 값이 200이다.)
이 경우는 톰캣의 경우에 해당하며 사용하는 웹 콘테이너에 따라서 이렇게 안 해 줘도
원하는 결과가 출력되기도 한다.*/
response.setStatus(HttpServletResponse.SC_OK);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>500 에러 발생</title>
</head>
<body>
<b>요청 처리 과정에서 예외가 발생했습니다.</b>
<br>
빠른 시간 내에 문제를 해결하도록 하겠습니다.
</body>
</html>
에러 페이지가 출력되도록 URL 접속
http://localhost:8080/jsp2/Chapter06/noPage.jsp - 404 에러 발생
http://localhost:8080/jsp2/Chapter06/error/viewErrorMessage.jsp - 500에러 발생
References
source code : https://github.com/yonghwankim-dev/JSP2.0/tree/master/jsp2/src/main/webapp/Chapter06
JSP 2.0 프로그래밍 기초부터 중급까지
'JAVA > Servlet&JSP' 카테고리의 다른 글
[JSP] 6.5 에러 페이지의 우선 순위 및 에러 페이지 지정 형태 (0) | 2022.04.08 |
---|---|
[JSP] 6.4 예외 종류별 에러 페이지 지정하기 (0) | 2022.04.08 |
[JSP] 6.2 에러 페이지 작성하기 (0) | 2022.04.08 |
[JSP] 6.1 에러 페이지 지정하기 (0) | 2022.04.08 |
[JSP] 5.6 JSP 기본 객체의 속성(Attribute) 사용하기 (0) | 2022.04.08 |