예외처리? 프로그램이 처리되는 동안 특정한 문제가 발생했을 때, 처리를 중단하고 다른 처리를 진행하는 것이다.
- 페이지에서 발생한 오류, 디렉터리 구조, 톰캣 버전 등의 정보가 노출된다.
- 위의 정보들로 인해 보안이 허술해진다.
예외 처리 방법
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 |
댓글