1. 예외 처리의 개요
예외처리
프로그램이 처리되는 동안 특정한 문제가 발생했을때 처리를 중단하고 다른 처리를 하는 것으로 오류처리라고도 함
웹사이트를 이용하다가 주소를 잘못 입력하면 오류페이지를 보게됨
- 웹서버가 제공하는 오류페이지로 해당 페이지에 발생항 오류, 디렉터리 구조, 콤켓 버전등의정보가 나타나 있기 때문에 웹 보안이 취약하여 쉽게 해킹 당할 수 있음
웹 애플리케이션 실행 도중에 발생할 수 있는 오류에 대비한 예외 처리 코드를 작성하여 비정상적인 종료를 막을 수 있음
예외 처리 방법의 종류
2. page 디렉티브 태그를 이용한 예외 처리
ErrorPage 속성으로 오류 페이지 호출하기
errorPage 속성
- 오류 페이지를 호출하는 page 디렉티브 태그의 속성
- 오류 페이지를 호출하는 page 디렉티브 태그의 속성
JSP 페이지가 실행되는 도중에 오류가 발생하면 웹 서버의 기본 오류 페이지§ 를 대신하여 errorPage 속성에 설정한 페이지가 오류 페이지로 호출
isErrorPage 속성으로 오류 페이지 만들기
IsErrorPage 속성
- 현재 JSP 페이지를 오류 페이지로 호출하는 page 디렉티브 태그의 속성
- 이때 오류 페이지에서 exception 내장 객체를 사용할 수 있음
예제
errorPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page errorPage="errorPage_error.jsp" %><!-- 오류를 대신 처리할 페이지 -->
<!-- pagr 디렉티브. errorPage 속성의 값으로 jsp페이지를 넣음
JSP 페이지가 실행되는 도중 오류발생 시 오류페이지 호출.
-->
<!DOCTYPE html>
<html>
<head>
<title>Exception</title>
</head>
<body>
<!-- /ch11/errorPage.jsp?name=james -->
<!-- /ch11/errorPage.jsp?name= -->
<!-- /ch11/errorPage.jsp
오류발생(null을 대문자로 변환할 수 없음)
파라미터 name이 없어서 오류발생
-->
<p>name 파라미터 : <%=request.getParameter("name").toUpperCase()%></p>
</body>
</html>
errorPage_error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page isErrorPage="true" %>
<!-- isErrorPage 속성 : 현재 JSP 페이지를 오류페이지로 호출하는
page 디렉티브 태스의 속성. 이때 오류페이지에서 exception 내장객체를 사용 할 수 있음
-->
<!DOCTYPE html>
<html>
<head>
<title>Exception</title>
</head>
<body>
<p><img src="/images/여수고양이.jpg" /></p>
<!-- exception객체 : JSP에서 기본적으로 제공해주는 오류 처리용 기본 내장 객체
오류이벤트의 toString()를 호출하여 간단한 오류 메시지 확인
-->
<p>예외유형 : <%=exception.toString() %></p>
<!-- 오류메세지의 발생 근원지를찾아 단계별로 오류를 출력 -->
<p>단계별 오류출력 : <%=exception.printStackTrace() %></p>
<!-- 예외 객체 타입을 출력 -->
<p>예외 유형 : <%=exception.getClass().getName() %></p>
<!-- 오류이벤트와 함께 들어오는 메시지를 출력 -->
<p>예외 메시지 : <%=exception.getMessage() %></p>
</body>
</html>
3. web.xml 파일을 이용한 예외 처리
web.xml 파일을 이용한 예외 처리
web.xml 파일을 통해 오류 상태와 오류 페이지를 보여주는 방법
<error-page>…</error-page> 요소 내에 처리할 오류 코드나 오류 유형 및 오류 페이지를 호출
**web.xml 파일은 웹 애플리케이션의 /WEB-INF/폴더에 있어야 함
오류 코드로 오류 페이지 호출하기
오류 코드는 웹 서버가 제공하는 기본 오류 페이지에 나타나는 404, 500과 같이 사용자의 요청이 올바르지 않을 때 출력되는 코드로 응답 상태 코드 라고도 함
JSP 페이지에서 발생하는 오류가 web.xml 파일에 설정된 오류 코드와 일치하§ 는 경우 오류 코드와 오류 페이지를 보여줌
web.xml 파일에 오류 코드와 오류 페이지를 설정하는 형식
예외 유형으로 오류 페이지 호출하기
예외 유형에 따른 오류 페이지 호출 방법은 JSP 페이지가 발생시키는 오류가 § web.xml 파일에 설정된 예외 유형과 일치하는 경우 예외 유형과 오류 페이지를 보여줌
web.xml 파일에 예외 유형과 오류 페이지를 설정하는 형식
4. try-catch-finally를 이용한 예외 처리
try-catch-finally
자바의 예외 처리 구문으로 스크립틀릿 태그에 작성
try 구문에는 예외가 발생할 수 있는 코드를 작성하고, catch 구문에는 오류가 발생할수 있는 예외 사항을 예측하여 오류를 처리하는 코드를 작성
finally 구문에는 try 구문이 실행된 후 실행할 코드를 작성하는데 이는 생략 가능
참고 파일
'JSP 웹 프로그래밍 > 수업내용' 카테고리의 다른 글
[JSP 웹 프로그래밍] 필터(filter) (0) | 2024.07.15 |
---|---|
[JSP 웹 프로그래밍] 예외처리 (0) | 2024.07.12 |
[JSP 웹 프로그래밍] 시큐리티 (0) | 2024.07.10 |
[JSP 웹 프로그래밍] 다국어 처리 (0) | 2024.07.10 |
[JSP 웹 프로그래밍] 유효성 검사 (0) | 2024.07.08 |