본문 바로가기
Backend/JSP

[JSP] 예외 처리

by 그적 2020. 11. 20.

예외처리? 프로그램이 처리되는 동안 특정한 문제가 발생했을 때, 처리를 중단하고 다른 처리를 진행하는 것이다.

 - 페이지에서 발생한 오류, 디렉터리 구조, 톰캣 버전 등의 정보가 노출된다.

 - 위의 정보들로 인해 보안이 허술해진다.

 

 

예외 처리 방법

1) page 디렉티브를 이용한 예외 처리 : errorPage 속성, isErrorPage 속성

2) web.xml 파일을 이용한 예외 처리 : <error-code> 태그, <exception-type> 태그

3) try~catch/finally를 이용한 예외 처리 : 자바 언어의 예외 처리 구문을 이용

 

 

① page 디렉티브

 - errorPage 속성 : 오류 페이지로 이동

<%@page errorPage=" ... " %>

- isErrorPage 속성 : 현재 JSP 페이지를 오류 페이지로 설정

<%@page isErrorPage=" ... " %>

현재 JSP 페이지를 오류 페이지로 설정함으로써, exception 내장 객체를 사용할 수 있다.

<%= exception.getClass().getName() %>    // 예외 유형 출력
<%= exception.getMessage() %>            // 오류 메세지 출력

 

② web.xml 파일 이용

 (web.xml 파일은 /WEB-INF 파일 안에 존재해야 한다.)

- <error-code> 태그

<error-page>
	<error-code>500</error-code>
	<location>/errorPage.jsp</location>
</error-page>

- <exception-type> 태그

<error-page>
	<exception-type>java.lang.NullPointerException</exception-type>
	<location>/errorPage.jsp</location>
</error-page>

 

** 예외 유형

- ClassNotFoundException : 클래스를 찾지 못했을 때 발생
- NullPointException : null object로 접근했을 때 발생
- ClassCastException : 변환할 수 있는 유형으로 객체를 변환할 때 발생
- OutOfMemoryException : 메모리 부족으로 메모리를 확보하지 못했을 경우 발생
- StackOverflowError : 스택 오버플로일 때 발생
- ArrayIndexOutOfBoundException : 범위 밖의 배열 첨자를 설정했을 때 발생
- NegativeArraySizeException : 음수로 배열 크기를 설정했을 때 발생
- illegalArgumentException : 부적절한 문자열을 수치로 변환하려 할 때 발생
- IOException : 요청된 메소드가 허용하지 않을 때 발생
- NumberFormatException : 부적절한 문자열을 수치로 변환하려 할 때 발생
- ArithmeticException : 어떤 값을 0으로 나눴을 때 발생

 

③ try-catch-finally 코드 이용

try{
	// 예외가 발생할 수 있는 실행문
} catch(처리할 예외 유형 설정){
	// 예외 처리문
}finally{
	// 예외와 상관없이 무조건 실행되는 문장(생략 가능)
}

'Backend > JSP' 카테고리의 다른 글

[JSP] 쿠키  (0) 2020.12.18
[JSP] 세션  (0) 2020.12.18
[JSP] 시큐리티  (0) 2020.11.20
[JSP] 다국어 처리  (0) 2020.11.20
[JSP] 'Starting Tomcat v9.0 Server at localhost' has encountered a problem 오류 확인  (2) 2020.11.04

댓글