[JSP] web.xml 에러 페이지 처리
web.xml 에러 페이지 처리
- JSP에서 에러(Exception)이 발생하면 에러 코드와 함께 에러 페이지를 보여준다.
- 이때 에러 페이지가 아닌 다른 페이지를 보여주자.
- JSP 에는 에러 페이지를 처리하는 방법으로 <%@page errorPage ="error.jsp"%>, <%@page isErrorPage="true" %> 가 있다.
- 하지만 JSP 2.0 또는 최신 웹 컨테이너들은 이 기능을 처리하지 못할 수 있다.
- 그렇기 때문에 에러 페이지 처리를 서블릿에서 처리하기 위해 web.xml 에서 처리하는 방법을 사용한다.
<error-page>
<error-code>404</error-code>
<location>/error/404code.jsp</location>
</error-page>
- 위와 같이 web.xml에 기술되어 있으면 404 에러 발생시 404code.jsp 페이지로 이동한다. 이때 요청 페이지는 사용자가 요청한 페이지를 그대로 유지한다.
- 에러페이지인 404code.jsp 를 처리하기 위해서는 404code.jsp 에 아래와 같은 처리가 필요하다.
<%
response.setStatus(HttpServletResponse.SC_OK);
%>
- 이것은 현재 페이지가 정상적으로 응답되는 페이지임을 지정하는 코드다. 이 코드를 생략하면 웹 브라우저는 자체적인 에러 페이지를 표시한다.
- 각 주요 에러코드별로 처리할 에러 페이지를 지정하며, 기술하지 않은 그 외의 에러에 대해서도 처리할 수 있다.
- web.xml 에러 페이지 처리 예
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>TEST</display-name>
<!-- 시작 페이지 -->
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
<!-- error 페이지 -->
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/jsp/common/error/400error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/common/error/404error.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/WEB-INF/jsp/common/error/403error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/common/error/500error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/WEB-INF/jsp/common/error/error.jsp</location>
</error-page>
</web-app>
출처: https://hyeonstorage.tistory.com/98?category=554979 [개발이 하고 싶어요]
'Java 관련 > JSP,Servlet' 카테고리의 다른 글
[JSP] JDBC 에서의 트랜잭션 처리 (0) | 2019.07.17 |
---|---|
[JSP] JDBC 사용 예제 (0) | 2019.07.17 |
[JSP] JDBC 프로그래밍에 사용되는 객체 (0) | 2019.07.17 |
[JSP] JDBC를 사용한 데이터베이스 연동 (0) | 2019.07.17 |
[JSP] HTTP 에러코드 정리 (0) | 2019.07.17 |
[JSP] 자바빈 액션태그 <jsp:useBean> (0) | 2019.07.17 |
[JSP] forward 액션 태그 <jsp:forward > (0) | 2019.07.17 |
[JSP] include 액션 태그 <jsp:include> (0) | 2019.07.17 |