SMALL
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
에러페이지
- Exception이 발생한 예외
- 404 등 단순 status로 발생하는 에러
Exception이 발생한 예외
web.xml
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/views/common/error.jsp</location>
</error-page>
error.jsp
isErrorPage="true"
- 발생한 예외 객체에 선언없이 접근 가능
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<%
// page 지시어 isErrorPage="true"로 지정한 경우
// 발생한 예외 객체에 선언없이 접근 가능
String msg = exception.getMessage();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>오류</title>
<style>
body {text-align: center;}
h1 {font-size: 500px; margin:0}
.err-msg {color: red;}
</style>
</head>
<body>
<h1>헉</h1>
<p class="err-msg"><%=msg %></p>
<hr />
<a href="<%=request.getContextPath()%>">홈으로</a>
</body>
</html>
일부로 Dao 상의 컬럼명에 오타를 내고 로그인 시도를 해보았습니다.
tomcat이 던지는 오류 페이지가 아닌 직접 생성한 오류 페이지가 나오는 것을 확인할 수 있습니다.
status로 발생하는 에러
web.xml
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/views/common/404.jsp</location>
</error-page>
404.jsp
- isErrorPage="true" 생략 가능
- error code로 넘어온 경우 exception 객체는 null
- response의 getStatus()메소드로 status code를 가져올 순 있음
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<%
// page 지시어 isErrorPage="true"로 지정한 경우
// 발생한 예외 객체에 선언없이 접근 가능
// error code로 넘어온 경우 exception 객체는 null!
// String msg = exception.getMessage();
int statusCode = response.getStatus();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>오류</title>
<style>
body {text-align: center;}
h1 {font-size: 500px; margin:0}
.err-msg {color: red;}
</style>
</head>
<body>
<h1>텅</h1>
<p class="err-msg">찾으시는 페이지가 없습니다.</p>
<hr />
<a href="<%=request.getContextPath()%>">홈으로</a>
<br />
<a href="javascript:history.back()">뒤로가기</a>
</body>
</html>
존재하지 않는 URL로 접근했을 때 tomcat이 생성한 에러페이지가 아닌 직접 생성한 에러페이지가 나오는 것을 확인할 수 있습니다.
LIST
'Java > Servlet & JSP' 카테고리의 다른 글
JSP) 기본 페이징 처리 (0) | 2022.06.28 |
---|---|
JSP) 관리자 모드 - 회원 정보 조회하기 (0) | 2022.06.27 |
JSP) 암호화 - salt 처리, 비밀번호 변경 페이지 생성 (0) | 2022.06.26 |
JSP) Filter - 생성, 생명주기, 중복코드/접근권한 제어하기 (0) | 2022.06.26 |
JSP) 회원가입 아이디 중복 검사 (0) | 2022.06.25 |