JSP - errorPage 나타내기

imjingu·2023년 9월 10일
0

개발공부

목록 보기
471/481


page 디렉티브 태그에 errorPage 속성을 이용하여 오류 페이지 호출하기
1) JSP 페이지가 실행되는 도중에 오류가 발생하면 오류 페이지를 호출하도록 page 디렉티브 태그에 errorPage 속성을 작성
2) toUpperCase() 메서드는 파라미터 값을 대문자로 변환하여 출력 이떄 파라미터 name이 존재하지 않아 오류가 발생

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page errorPage="errorPage_error.jsp" %> <!-- 에러 발생시 표시할 페이지 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	 name 파라미터 : <%=request.getParameter("name").toUpperCase() %>
</body>
</html>

page 디렉티브 태그에 isErrorPage 속성을 이용하여 오류 페이지 만들기
1) JSP 페이지가 오류 페이지가 되도록 page 디렉티브 태그에 isErrorPage 속성을 작성
2) 오류가 발생했을때 해당 예외 객체 타입을 가져와 출력하도록 표현문 태그에 exception 내장 개개체의 getClass().getName() 메소드를 작성
3) 오류가 발생했을 때 오류 메시지를 가져와 출력하도록 표현문 태그에 exception 내장 객체의 getMessage() 메소드를 작성

page 디렉티브의 isErrorPage 옵션의 값에 true 를 주어 현재 페이지가 예외 처리 페이지라는 것을 명시합니다.
이때부터는 exception 내부 객체를 이용할 수 있으며, 예외가 발생한 페이지로부터 제어가 넘어오면 해당 페이지에서 발생한 예외 내용을 exception 객체에 담아 사용할 수 있습니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<p> 에러가 발생 하였습니다.</p>
	<p> 예외 유형 : <%=exception.getClass().getName() %>
	<p> 오류 메시지 : <%=exception.getMessage() %>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="errorCode_process.jsp" method="post">
		<p> 숫자1 : <input type="text" name="num2">
		<p> 숫자2 : <input type="text" name="num2">
		<p> <input type="submit" value="나누기">
	</form>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String num1 = request.getParameter("num1");
		String num2 = request.getParameter("num2");
		int a = Integer.parseInt(num1);
		int b = Integer.parseInt(num2);
		int c = a / b;
		out.print(num1 + " / " + num2 + " = " + c);
	%>
</body>
</html>

에러 코드 페이지를 따로 만들어 어떤 형식의 에러인지 그 형태의 에러에 따라 각 페이지를 통하여 에러를 보여줌

0개의 댓글