웹 개발/에러 해결
JSP 에러 페이지 간단하게 처리하기
희랍인 조르바
2018. 2. 28. 16:40
난 초급개발자라 최대한 간단하고 이해하기 쉬운 코드가 좋아서
몇가지 에러페이지 처리 방법이 있는 것 같았지만,
내가 썼던 방법만 기록해두기로 한다.
먼저 web.xml에서 설정한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <web-app> ...중략 <!--error page --> <error-page> <error-code>404</error-code> <location>/WEB-INF/views/error/errorPage.jsp</location> </error-page> <error-page> <error-code>403</error-code> <location>/WEB-INF/views/error/errorPage.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/views/error/errorPage.jsp</location> </error-page> <error-page> <error-code>503</error-code> <location>/WEB-INF/views/error/errorPage.jsp</location> </error-page> <error-page> <error-code>400</error-code> <location>/WEB-INF/views/error/errorPage.jsp</location> </error-page> <error-page> <error-code>405</error-code> <location>/WEB-INF/views/error/errorPage.jsp</location> </error-page> </web-app> | cs |
에러마다 jsp를 따로 만들어주면 페이지가 많아져서 번잡스러울 것 같아 error code 받는 법을 찾은 다음,
jstl 태그로 errorPage.jsp에서 한 번에 처리했다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ERROR PAGE</title>
</head>
<body>
<center><h1>에러가 발생했습니다.</h1></center>
<c:if test="${requestScope['javax.servlet.error.status_code'] == 400}">
<center><p>400 에러가 발생했습니다.</p></center>
</c:if>
<c:if test="${requestScope['javax.servlet.error.status_code'] == 403}">
<center><p>403 에러가 발생했습니다.</p></center>
</c:if>
<c:if test="${requestScope['javax.servlet.error.status_code'] == 404}">
<center><p>404 에러가 발생했습니다.</p></center>
</c:if>
<c:if test="${requestScope['javax.servlet.error.status_code'] == 405}">
<center><p>405 에러가 발생했습니다.</p></center>
</c:if>
<c:if test="${requestScope['javax.servlet.error.status_code'] == 500}">
<center><p>500 에러가 발생했습니다.</p></center>
</c:if>
<c:if test="${requestScope['javax.servlet.error.status_code'] == 503}">
<center><p>503 에러가 발생했습니다.</p></center>
</c:if>
</body>
</html>
만약 500 에러가 뜨면 요렇게 나온다.