웹 개발 기초/자바 웹을 다루는 기술

JSP 페이지 예외 처리 실습

sungw00 2023. 2. 28. 10:31
728x90

1. add.html, add.jsp, addException.jsp 파일 작성

<!-- add.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>합계</title>
</head>
<body>
	자연수를 입력하세요.
	<form action="add.jsp"></form> <!-- 입력한 값을 add.jsp로 전송 -->
		1부터 <input type="text" name="num">
		<input type="submit" value="계산하기">
</body>
</html>
<%-- add.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    errorPage="addException.jsp" %> <%-- 예외 발생 시 예외를 처리할 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>
<%-- addException.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    isErrorPage="true" %> <%-- 다른 JSP 페이지에서 예외 발생 시 예외를 처리하는 예외 페이지로 지정 --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 페이지</title>
</head>
<body>
====== toString() 내용 ======<br>
<h1><%= exception.toString() %></h1> <%-- exception 내장 객체를 사용해 예외 처리 --%>
============ getMessage() 내용 ============<br>
<h1><%= exception.getMessage() %></h1>
============ printStackTrace() 내용 ============<br>
<h1><% exception.printStackTrace(); %></h1> <%-- 이클립스 콘솔로 예외 메시지를 출력 --%>
<h3>
	숫자만 입력 가능합니다. 다시 시도하세요.
	<a href='add.html'>다시 하기</a>
</h3>
</body>
</html>

 

2. http://localhost:8090/pro12/test02/add.html 요청

http://localhost:8090/pro12/test02/add.html 요청 후 숫자 10 넣고 계산하기 버튼 클릭
1부터 10까지의 합 55 출력 결과
숫자가 아닌 문자 aaaaaaa를 입력
예외가 발생하여 예외 처리 페이지에서 예외를 처리하는 모습
printStackTrace() 이클립스 콘솔로 출력된 에러 발생 내용

 

728x90