춘식이왔엉
초보 개발자의 기록
춘식이왔엉
  • 분류 전체보기
    • ElasticSearch
    • ETL
    • 네트워크
    • 교육과정 기록
      • 🎨UI구현
      • 💻back-end
      • Java Script
      • jQuery
      • 💾DB & SQL
      • ☕ Java
      • 🧇 Python
      • 🪀알고리즘
    • 📘에러 노트
    • git
    • 자유로운 이야기
      • 📚자격증
      • 🏋️‍♂️운동 기록

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
춘식이왔엉

초보 개발자의 기록

[7.27] JSP - 예외 처리
교육과정 기록/💻back-end

[7.27] JSP - 예외 처리

2022. 7. 27. 19:12

* Web Application 의 예외처리 방법 3가지 *

1. page directive의 "isErrorPage"와 "errorPage"속성을 이용한 예외처리

    ( exception 내장 객체를 이용한 예외 처리 )

       - "JSP 전용" 예외처리 방식

       - 유지보수 어려운 단점 

 * 아래 방법2,3은 Web Application "공통" 예외처리 방식

2. web.xml에 예외처리 설정하는 방식(HTTP status code기반)

3. web.xml에 예외처리 설정하는 방식(예외타입 기반)

 

1.exception 내장 객체를 이용한 예외 처리

1. 예외를 발생시키는 JSP 작성

- JSP명 : divide.jsp

- 0으로 나누어 NullPointerException 발생

<%@ page 
        language="java" 
        isErrorPage="false"
        errorPage="/JSP/exceptionHandling.jsp"
        contentType="text/html; charset=UTF-8" 
        pageEncoding="UTF-8"%>

<% // scriptlet Tag
    int n = 4 / 0;
%>

isErrorPage="false"

- "이 페이지는 예외를 처리하는게 아닌 발생시키는 페이지이다. " 라고 JSP 컨테이너에게 알리는 역할

errorPage="/JSP/exceptionHandling.jsp"

- 예외가 발생하면 이 속성에 지정한 JSP(/exceptionHandling.jsp)로 예외를 전달해주세요~!

 

2. 예외를 처리하는 JSP 작성

isErrorPage="true"

- 다른 JSP에서 발생하는 예외(Exception)를 내장객체인 exception으로 받아서 예외처리하는 역할을 수행

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

<!-- 이 JSP는, 다른 JSP에서 발생하는 예외(Exception)를 내장객체인 exception으로 받아서,
    예외처리하는 역할을 수행(isErrorPage="true"인 경우)-->

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>error</title>
</head>
<body>
    <h1>/JSP/exceptionHandling.jsp</h1>
    <hr>

    <!-- 내장객체인 exception 사용가능 -->

    <h1>Lorem ipsum dolor sit amet consectetur adipisicing elit.</h1>

    <h2><%= exception.getClass() %> : <%= exception %></h2>
    <ol>
        <%  //scriptlet Tag
            StackTraceElement[] stackTrace = exception.getStackTrace();

            for(StackTraceElement element : stackTrace) {
        %>        
                    // Expression Tag
                    <li>at <%= element %></li>

        <%  } // enhanced for %>
    </ol>
</body>
</html>

 

- /divide.jsp 페이지 실행

저작자표시 비영리 변경금지 (새창열림)

'교육과정 기록 > 💻back-end' 카테고리의 다른 글

[7.28] JSP - EL  (0) 2022.07.28
[7.27] JSP - 액션 태그, 자바빈(JavaBeans) 규약  (0) 2022.07.27
[7.26] JSP 기본 개념  (0) 2022.07.26
[7.25] 서블릿 - 파일 업로드 & 다운로드  (0) 2022.07.25
[7.21] 서블릿 - 세션 관리  (0) 2022.07.21
    '교육과정 기록/💻back-end' 카테고리의 다른 글
    • [7.28] JSP - EL
    • [7.27] JSP - 액션 태그, 자바빈(JavaBeans) 규약
    • [7.26] JSP 기본 개념
    • [7.25] 서블릿 - 파일 업로드 & 다운로드
    춘식이왔엉
    춘식이왔엉
    개발 공부를 하면서 정리하는 블로그입니다.

    티스토리툴바