백문이불여일타

[Jsp/Servlet]Jsp페이지 예외처리하기_실습 본문

Jsp

[Jsp/Servlet]Jsp페이지 예외처리하기_실습

퇴근각 2019. 7. 11. 16:46

JSP페이지 예외처리하기


 

실습예제 처리과정

add.jsp에서 예외가 발생한경우 예외처리를 하는 방법이다.

addException.jsp에서 exception내장객체 사용해서 예외처리를 한다.

 

jsp 예외처리 페이지 만드는 과정

JSP페이지에서 오류가 발생하면 예외 처리페이지를 이용해 예외처리를 할수있다.


JSP페이지는 어떻게만드냐면??

1) 먼저 예외처리JSP를 만든후에 태그속성중 isErroPage 속성을 ▶ true 로설정 

2) 그리고 일반JSP페이지의 태그속성중 errorPage 속성을 ▶예외처리 페이지 이름으로 지정 한다.!!

 

실습

1.add.html, add.jsp, addException.jsp 준비한다

 

2. 톰켓이용해 브라우저 띄우면 입력창에서 숫자를 입력받아 action에 지정한 add.jsp로 전송한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>          
<html>
<head>
<title>합계</title>
</head>
<body>
자연수를 입력하세요.
<form action='add.jsp'>
    1 부터 <input type='text' name='num'>
         <input type='submit' value='계산하기'>
</form>
</body>
</html>
 
cs

 

 

3. 태그속성중 errorPage 속성에 예외처리페이지인 addException.jsp를 지정하여 오류가 발생하면 예외처리를한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"  
    errorPage="addException.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>
    <title>합계 구하기</title>
</head>
<body>
<h2>합계 구하기</h2>
<h1>1부터 <%=num  %>까지의 합은 <%=sum  %>입니다</h1>
</body>
</html>
 
cs

 

 

4. 페이지속성태그중 isErrorPage속성을 true로 설정해 exception 내장 객체를 이용해서 발생한 예외처리를 하도록한다.

★ exception 내장객체는 Java의 Exception 클래스의 인스턴스입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    isErrorPage="true" %>
 
<!DOCTYPE html>          
<html>
<head>
   <title>에러 페이지</title>
</head>
 
<body>
   ======= toString() 내용  ======= <br>
   <h1><%= exception.toString()  %> </h1>
   ======= getMessage()내용 ==========<br>
   <h1><%=exception.getMessage()%> </h1>
   ======= printStackTrace() 내용 =======<br>
   <h1><% exception.printStackTrace(); %> </h1>
   <h3>숫자만 입력 가능합니다.다시 시도 하세요.<a href='add.html'>다시하기</a></h3>
   
</body>
</html>
 
cs

 

5. 브라우저화면에 보이는 입력창에 자연수(=정수)를 입력한다.

 

6.결과 출력된다.

 

7. 자연수가 아닌 숫자인 문자를 입력해보자

 

8. 문자처리시에는 예외가 발생되어, 아래와 같이 예외처리 페이지에서 예외를 맡아 처리하게된다.

...더보기
진지한 궁서체 ; 오류 여담

1. 한글깨짐 발생 현상

아.....진지한 궁서체로 타이핑 중...  

이클립스에서 톰켓 실행하여 웹브라우저 실행했는데 자꾸 한글깨짐 발생해서 

코딩한거 자꾸 보고 또 봤는데도 utf-8로 잘 설정되었는데

위와같이 나오면 그냥 

 

모를때는 그냥 우클릭이 최고 

 

2. 1번 오류 처리후 ☞ 톰켓 실행시 오류 

아...짜증나서 문의해봄...

 

그래 앞으로 구글을 끼고살꺼야

크롬 너로 결정했다.ㅋㅋㅋ

 

Comments