2019. 11. 5. 15:18
XML
<!-- 404와 500오류 발생시 예외처리를 할 페이지 지정 -->
<error-page>
<error-code>404</error-code>
<location>/err/error_404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/err/error_500.jsp</location>
</error-page>
<error-code> 코드 번호 </error-code>
<location> 연결 주소 </location>
JSP
add.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<!--
입력창에서 숫자를 입력 받아 action 속성에 지정한 add.jsp로 요청 전송 합니다.
-->
<script type="text/javascript" src="http://code.jquery.com/jquery-3.1.1.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
자연수를 입력하세요.
<form action="add.jsp">
1부터 <input type = "text" name = "num">
<input type = "submit" value = "계산하기">
</form>
</body>
</html>
add.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page errorPage="addException.jsp" %>
<%--예외 발생시 예외를 처리할 JSP페이지를 지정함. --%>
<%
int num = Integer.parseInt(request.getParameter("num"));
int sum = 0;
for (int i = 1; i <= num ; i++)
{
sum += i;
}
out.println("합은 ? " + sum);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; 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 페이지에서 예외 발생시 예외를 처리하는 예외 처리 페이지로 지정할 건지 여부 --%>
<%--
Page지시자 태그의 isErrorPage 속성값을 true로 설정해
exception 내장 객체를 이용해서 발생한 예외를 처리 하도록 합니다.
이 때 exception 내장 객체는 자바의 Exception클래스의 인스턴스 입니다.
--%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
==============================toString() 내용===========================<br>
<%-- exception내장 객체를 사용해 예외 처리를 합니다. --%>
<h1> <%=exception.toString() %> </h1>
==============================getMessage() 내용 ========================<br>
<h1><%=exception.getMessage() %></h1>
==============================printStackTrace() 내용 ===================<br>
<h1><% exception.printStackTrace(); %></h1>
<h3>숫자만 입력가능합니다. 다시 시도하세요</h3>
<a href = "add.html">다시 하기</a>
</body>
</html>
예외 처리할 페이지에서
<%@ page ErrorPage = "에러시 연결할 페이지"%>
에러시 연결된 페이지에서
<%@ page isErrorPage = "true"%>
'JSP' 카테고리의 다른 글
[JSP] 예시 ] SQL_QUERY , 내장객체 세션, 절대 경로 (0) | 2019.11.19 |
---|---|
[JSP] 액션태그 (0) | 2019.11.05 |
[JSP]포워딩 (0) | 2019.11.04 |
[JSP] session scope 와 application scope 차이 (0) | 2019.11.04 |
[JSP] 영역 객체와 속성 (0) | 2019.11.02 |