728x90
try-catch-finally를 이용한 예외처리
우선순위가 가장 높은 방법이다.
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Exception</title>
</head>
<body>
<!--
POST방식
요청 URL : tryCatch_process.jsp
요청파라미터 : {num1=12&num2=6n}
GET방식
요청 URL : exception_process.jsp?num1=12&num2=6
요청파라미터 : num1=12&num2=6n
-->
<form action="tryCatch_process.jsp" method="post">
<p>숫자1 : <input type="text" name="num1" /></p>
<p>숫자2 : <input type="text" name="num2" /></p>
<p><input type="submit" value="나누기" /></p>
</form>
</body>
</html>
여기서 숫자2 : 6n문자열 보냄
tryCatch_process.jsp로 간다
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%-- <%@ page errorPage="exception_error.jsp" %> --%>
<!DOCTYPE html>
<html>
<head>
<title>Exception</title>
</head>
<body>
<% //스크립틀릿
// POST방식
// 요청 URL : exception_process.jsp
// 요청파라미터 : {num1=12&num2=6}
try{
String num1 = request.getParameter("num1"); //"12"
String num2 = request.getParameter("num2"); //"6"
//문자를 숫자로 형변환
int a = Integer.parseInt(num1); //12
int b = Integer.parseInt(num2); //12
int c = a / b;
out.print("<p>" + num1 +"/" + num2 + "=" + c + "</p>");
}catch(NumberFormatException e){
//오류 발생시 tryCatch_error.jsp로 포워딩
/*
1) forwarding : jsp를 해석 -> 컴파일 -> html리턴 받음. 데이터를 전달할 수 있음
2) redirect : URL를 재요청. 데이터를 전달하기 어려움
*/
//request 객체와 response객체를 전달
//tryCatch_error.jsp에서도 요청파라미터인 ?num1=12&num2=6n을 사용할 수 있게됨
RequestDispatcher dispatcher =
request.getRequestDispatcher("tryCatch_error.jsp");
dispatcher.forward(request, response);
}
%>
</body>
</html>
여기서 오류처리하고 catch에서 forwad방식으로 다음 사이트로 보냄
RequestDispatcher dispatcher =
request.getRequestDispatcher("tryCatch_error.jsp");
dispatcher.forward(request, response);
}를 써서 Parameter값을 그대로
tryCatch_error.jsp 파일로 보냄
tryCatch_error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<p>잘못된 데이터가 입력되었습니다.</p>
<p>숫자 1 : <%=request.getParameter("num1")%></p>
<p>숫자 2 : <%=request.getParameter("num2")%></p>
</body>
</html>
'JSP > JSP기초' 카테고리의 다른 글
JSP(Ch12) 필터 사용하는 방법 두 번째 예제 (0) | 2023.07.12 |
---|---|
JSP(Ch12) 필터 사용하는 방법 첫 번째 예제 (0) | 2023.07.12 |
JSP web.xml 을 이용한 예외 처리방법 (0) | 2023.07.11 |
JSP 페이지디렉티브 예외처리 (0) | 2023.07.11 |
JSP 웹브라우저 예외처리 (0) | 2023.07.11 |