Notice
Recent Posts
Recent Comments
Link
- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
Bigfat
[Web] 에러 페이지 처리하기 (게시판 구현) 본문
HTTP 오류 코드에 대해 처리할 수 있도록 설정, JSP를 작성해보자
웹 개발을 하면서 브라우저로 출력된 에러 페이지를 자주 봤을 것이다. 이러한 에러 페이지는 웹 컨테이너가 제공하는 기본 에러 페이지로, 오류뿐만 아니라 디렉토리의 구조, 톰캣의 버전 등이 노출되므로 웹 보안이 취약해진다(참고1). HTTP 상태 코드(Status Code)에는 200(성공), 404(찾을 수 없음), 500(내부 서버 오류) 등 클라이언트 요청에 대한 응답 코드가 많으니 확인해보도록 하자. 브라우저의 개발자모드 > Network 에서 확인 가능하다.
web.xml에 404, 500오류에 대한 처리를 설정하는 '에러 페이지 처리' 주석 아래의 코드를 삽입한다.
<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>bbs</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 프로젝트에 사용되는 파라미터 --> <!-- application 내장 객체가 읽어들인다. --> <context-param> <param-name>pageSize</param-name> <param-value>10</param-value> </context-param> <context-param> <param-name>pageBlock</param-name> <param-value>10</param-value> </context-param> <servlet> <servlet-name>bbsServlet</servlet-name> <servlet-class>com.edu.bbs.BBSServlet</servlet-class> <init-param> <param-name>bbsProperties</param-name> <param-value>D:\Dev\education\bbs\WebContent\bbs.properties</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>bbsServlet</servlet-name> <url-pattern>*.bbs</url-pattern> </servlet-mapping> <!-- 에러 페이지 처리 --> <error-page> <error-code>404</error-code> <location>/errorPage.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/errorPage.jsp</location> </error-page> </web-app>
WebContent/erroPage.jsp를 아래와 같이 작성한다. errorPage.jsp에서는 해당되는 status_code에 따라 다른 결과를 화면에 출력하게 된다.
<%@ 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> <c:if test="${requestScope['javax.servlet.error.status_code'] == 404}"> <p>404(찾을 수 없음): 서버가 요청한 페이지를 찾을 수 없습니다.</p> <p>예를 들어 서버에 존재하지 않는 페이지에 대한 요청이 있을 경우 서버는 이 코드를 제공합니다.</p> </c:if> <c:if test="${requestScope['javax.servlet.error.status_code'] == 500}"> <p>500(내부 서버 오류): 서버에 오류가 발생하여 요청을 수행할 수 없습니다.</p> </c:if> <a href="/bbs/list.bbs?pageNum=1">돌아가기</a> </body> </html>
[JSP 공통 에러 페이지 처리(Servlet Exception Handling) 참고1]
'Java > web' 카테고리의 다른 글
[Web] 부트스트랩 적용하기 (게시판 구현) (0) | 2017.04.10 |
---|---|
[Web] 글 확인 화면 만들기 (게시판 구현) (4) | 2017.04.10 |
[Web] 페이징 처리하기 (게시판 구현) (2) | 2017.04.07 |
[Web] 리스트 화면 만들기 (게시판 구현) (0) | 2017.04.06 |
[Web] 글쓰기 화면 만들기 (게시판 구현) (0) | 2017.04.05 |