본문 바로가기

JSP/JSP Programming

[JSP] 에러 페이지를 이용한 예외처리

반응형

■ 에러 페이지를 이용한 예외처리


# 예외 처리하기

 infoForm.html

<!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>
<form method = "post" action = "viewInfo.jsp">
    이 름 : <input type = "text" name = "name" size = "20"><br/>
    나 이 : <input type = "text" name = "age" size = "20"><br/>
<hr/>
* P.S : 나이는 숫자만 입력해야 합니다.
<hr/>
<input type = "submit" value = "전송">
</form>
</body>
</html>

 출력화면01 : 나이를 숫자로 입력한 경우

 출력화면02 : 나이를 한글로 입력한 경우

 viewInfo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%-- 해당페이지에서 에러가 발생하면 error02.jsp로 이동하도록 errorPage 속성을 지정해둠--%>
<%@ page errorPage = "error02.jsp" %>   
<%!
    String s_name;
    int age;
%>
<%
    // post 전송 방식의 경우 파라메터에 대한 한글 처리
    request.setCharacterEncoding("UTF-8");

    // infoForm.html 문서에서 넘어 온 파라미터 값을 얻어온다.
    s_name = request.getParameter("name");
   
    // age의 값은 정수(Integer) 형으로 변환한다.
    age = Integer.parseInt(request.getParameter("age"));
%>
<%--infoForm.html 문서에서 넘어 온 파라미터 값을 출력한다. --%>
<h3>회원 정보 출래</h3>
당신의 이름은 <%= s_name %> 입니다.<br/>
당신의 나이는 <%= age %>세 입니다.<br/>

 풀이

 -. errorPage : viewInfo.jsp에서 예외가 발생하면 errorPage 속성 값인 error02.jsp로 이동한다. (error02.jsp에서는 예외에 대한 처리를 기술)

 출력화면 (나이를 숫자로 입력한 경우)


 error02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page isErrorPage = "true" %>    <%-- 해당 페이지가 예외 처리 페이지 임을 설정 --%>
<%
    response.setStatus(HttpServletResponse.SC_OK);
%>
에러발생
<br/>
<%= exception.getMessage() %>
<%-- isErrorPage 속성에 true를 설정했기에 exception 객체를 사용할 수 있음 --%>

 풀이

 -. sErrorPage = "true" : isErrorPage 속성에 "true"를 설정하면 페이지 내에서는 exception 객체를 사용할 수 있다.

 -. exception : exception 객체는 자바에서 예외를 처리하기 위해 제공되는 객체이다.

 -. getMessage() : 예외 사항에 대한 정보를 문자열로 넘겨주는 메소드이다.

 출력화면 (나이를 한글로 입력한 경우)


반응형