<error-page>
<error-code>오류 코드</error-code>
<location>오류 페이지 URI</location>
</error-page>
<error-page>
<exception-type>예외 유형</exception>
<location>오류 페이지의 URI</location>
</error-page>
try{
}catch(처리할 예외 유형 설정){
예외처리문
}finally{
예외와 상관없이 무조건 실행(생략 가능)
}
페이지 없을 때 예외처리
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>페이지 오류</title>
<link rel="stylesheet" href="/css/bootstrap.min.css" />
</head>
<body>
<!-- top 인클루드 시작 -->
<jsp:include page="/ch03/top.jsp" />
<!-- top 인클루드 끝 -->
<div class="jumbotron">
<div class="container">
<h2 class="alert alert-danger">요청하신 페이지를 찾을 수 없습니다.</h2>
</div>
</div>
<div class="container">
<p><%=request.getRequestURL()%></p><!-- 오류페이지를 출력 -->
<p>
<a href="/ch04/product.jsp" class="btn btn-secondary">
상품목록»
</a>
</p>
</div>
<!-- bottom 인클루드 시작 -->
<jsp:include page="/ch03/bottom.jsp" />
<!-- bottom 인클루드 끝 -->
</body>
</html>
파라미터 없을 때 오류처리
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>상품 아이디 오류</title>
<link rel="stylesheet" href="/css/bootstrap.min.css" />
</head>
<body>
<!-- top 인클루드 시작 -->
<jsp:include page="/ch03/top.jsp" />
<!-- top 인클루드 끝 -->
<div class="jumbotron">
<div class="container">
<h2 class="alert alert-danger">해당 상품이 존재하지 않습니다.</h2>
</div>
</div>
<!--
request.getRequestURL() : 오류 발생 시 해당 오류 페이지 경로를 출력
http://localhost:8090/ch04/addProduct.jsp
request.getQueryString() : 요청 파라미터(productId=P1234)
결과 : http://localhost:8090/ch04/product.jsp?productId=P1234
-->
<div class="container">
<p><%=request.getRequestURL()%></p><!-- 오류페이지를 출력 -->
<p>
<a href="/ch04/product.jsp" class="btn btn-secondary">
상품목록»
</a>
</p>
</div>
<!-- bottom 인클루드 시작 -->
<jsp:include page="/ch03/bottom.jsp" />
<!-- bottom 인클루드 끝 -->
</body>
</html>