# 에러 페이지
예외 등의 에러 발생 시 기존의 404 500번 에러 등을 보여주는 게 아니고
사용자 설정한 페이지를 보여주기 위해 사용한다.
에러 페이지 내용을 표시해줄 뿐 URL이 바뀌지 않는다!
a.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page errorPage="b.jsp"%>
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%=request.getParameter("a").toLowerCase()%>
<!-- 예외발생 -->
</body>
</html>
b.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page isErrorPage="true"%>
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>에러났단다~
</body>
</html>
크롬에서는 잘되나 익스, 파폭에서는안되고 익스,파폭에서 지원하는 에러 페이지로 감...
이유는 크롬 이외에서는 에러 페이지의 응답 결과 크기가 513바이트 이상 이어야 함
그래서 HTML주석 문으로 좍 ~~513바이트 채워주면 됨
# 응답 상태 코드별로 에러 페이지 지정하기
web.xml파일을 통해 가능
...
<error-page>
<error-code>에러코드</error-code>
<location>에러페이지의URI</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/error500.jsp</location>
</error-page>
# 주요 응답 상태 코드
- 200 : 요청이 정상적으로 처리됨
- 307 : 임시로 페이지가 리다이렉트 됨
- 400 : 클라이언트의 요청이 잘못된 구문으로 구성됨
- 401 : 접근이 허용되지 않음
- 404 : 지정된 URL을 처리하기 위한 자원이 존재하지 않음
- 405 : 요청된 메서드는 허용되지 않음
- 500 : 서버 내부 에러, jsp에서 예외 등
- 503 : 서버가 일시적으로 서비스를 제공할 수 없음(급격한 부하나 서버 보수 중)
( http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1 )
# 예외 타입별로 에러 페이지 지정하기
web-xml
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/errorNullPointer.jsp</location>
</error-page>
# 우선순위
page디렉티브보다 web.xml 에 설정한 페이지가 우선순위가 높다!
'JSP' 카테고리의 다른 글
서블릿에서의 화면 이동 (0) | 2019.03.27 |
---|---|
JSP 액션태그 ( <jsp:useBean> ) (0) | 2019.03.27 |
JSP 경로 / 파일관련 (0) | 2019.03.09 |
include지시자 / 쿠키 (0) | 2019.03.09 |
DB풀링기법(커넥션풀) (0) | 2019.03.09 |