JSP 페이지 예외 처리 실습
1. 실습을 위해 WebContent를 아래 test02 폴더를 만들고 add.html, add.jsp, addException.jsp 파일들을 준비합니다.

2. add.html을 다음과 같이 작성합니다. 입력창에서 숫자를 입력 받아 action에 지정한 add.jsp로 전송합니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>합계</title>
</head>
<body>
자연수를 입력하세요.
<form action="add.jsp">
1부터 <input type="text" name="num">
<input type="submit" value="계산하기">
</form>
</body>
</html>
3. add.jsp를 다음과 같이 작성합니다. 페이지 디렉티브 태그의 errorPage 속성에 예외 처리 페이지인 addException.jsp를 지정하여 오류가 발생하면 예외 처리를 합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
errorPage="addException.jsp"%>
<%
int num = Integer.parseInt(request.getParameter("num"));
int sum = 0;
for (int i = 1; i <= num; i++) {
sum = sum + i;
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>합계 구하기</title>
</head>
<body>
<h2>합계 구하기</h2>
<h1>1부터 <%=num %>까지의 합은 <%=sum %>입니다</h1>
</body>
</html>
4. 또 다른 JSP 페이지인 addException.jsp를 다음과 같이 작성합니다. 페이지 디렉티브 태그의 isErrorPage 속성을 true로 설정해 exception 내장 객체를 이용해서 발생한 예외를 처리하도록 합니다. 이제 exception 내장 객체는 자바의 Exception 클래스의 인스턴스입니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 페이지</title>
</head>
<body>
====== toString() 내용 ======
<h1><%=exception.toString() %></h1>
========== getMessage() 내용 ==========
<h1><%=exception.getMessage() %></h1>
======== printStackTrace() 내용 =======
<h1><% exception.printStackTrace(); %></h1>
<h3>
숫자만 입력 가능합니다. 다시 시도하세요.
<a href='add.html'>다시 하기</a>
</h3>
</body>
</html>
5. http://localhost:8090/pro12/test02/add.html로 요청하여 입력창에 정상적인 숫자를 입력한 후 계산하기를 클릭합니다.

6. 정상적인 결과가 출력됩니다.

7. 이번에는 문자를 입력해 볼까요?

8. 문자는 처리 시 예외가 발생합니다. 다음과 같이 예외 처리 페이지에서 예외를 처리합니다.

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| JSP welcome 파일 지정하기 (0) | 2025.11.12 |
|---|---|
| 에러 코드에 따른 예외 페이지 지정 (0) | 2025.11.09 |
| JSP 페이지 예외 처리 과정 (0) | 2025.11.03 |
| out 내장 객체 이용해 데이터 출력하기 (0) | 2025.10.31 |
| request 내장 객체에 데이터 바인딩 실습 (0) | 2025.10.28 |