에러가 발생했을 때 사용자에게 보여 줄 페이지를 에러 페이지라 한다.
브라우저에서 디폴트로 띄워주는 에러 페이지는 사용자가 보기 어렵고 사이트 신뢰성을 떨어뜨리며 코트가 일부 노출되어 보안에도 좋지 않다.
1. 에러 페이지
- page 디렉티브에서
errorPage
속성 사용- 해당 jsp 페이지에 에러가 났을 때 속성값으로 지정한 jsp 페이지를 띄워준다.
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page errorPage="/myErrorPage.jsp" %>
<html>
<head>
<title>로그인 페이지</title>
</head>
<body>
<%
String name = request.getParameter("name").toUpperCase();
String age = request.getParameter("age");
%>
이름: <%= name %>
나이: <%= age %>
</body>
</html>
- 에러 페이지 작성 방법
- page 디렉티브의
isErrorPage
속성값으로true
지정 isErrorPage
속성값이true
인 페이지는exception
객체 사용 가능
- page 디렉티브의
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page isErrorPage = "true" %>
<html>
<head>
<title>에러 페이지</title>
</head>
<body>
<p>
에러가 발생했습니다.<br>
<p>
에러 타입: <%= exception.getClass().getName() %> <br>
에러 메시지: <%=exception.getMessage() %>
</body>
</html>
- 위 에러페이지를 설정해주었을 때 뜨는 결과
에러가 발생했습니다.
에러 타입: java.lang.NullPointerException
에러 메시지: null
실제로는 위와 같이 자바 문법을 보여주는 것도 사용자에게는 의미가 없을 것이다.
유명한 검색사이트나 블로그 플랫폼 등에서 글이 더 이상 존재하지 않을 때 뜨는 페이지 같은 것을 생각하면 될 것이다.
2. 응답 상태 코드별로 에러 페이지 다르게 지정하기
- WEB-INF/web.xml에 설정 추가
- 에러 코드별로 에러 페이지 URI를 설정할 수 있다.
<web-app ...>
...
<error-page>
<error-code>에러코드</error-code>
<location>에러페이지 URI</location>
</error-page>
...
</web-app>
'웹 > JSP' 카테고리의 다른 글
8. include 디렉티브 (0) | 2020.07.19 |
---|---|
7. <jsp:include> 태그 (0) | 2020.07.19 |
5. out, application 객체 (0) | 2020.07.19 |
4. response 기본 객체 (0) | 2020.07.19 |
3. GET방식 / POST방식 (0) | 2020.07.19 |