학습(구)/JSP

오류 처리

잉아당 2020. 9. 10. 19:44
728x90

익셉션과 에러

JVM을 기준 으로 운영체제 단계에서 생긴 오류들은 에러라고 하며 서버는 어떠한 조치도 할 수 없으며 즉시 수행이 중단됩니다.

그러나 서버쪽에서 생긴 오류들인 익셉션은 try-catch와 같이 대처가 가능하며 오류가 발생하지 않은 것으로 취급됩니다.

 

애플리케이션은 서비스 중단없이 수행되어져야 하는 것이 중요하며 가능한 많은 익셉션을 개발자가 정의해서 사용해야 합니다.

 

익셉션은 또한 두가지로 분류됩니다.

 

일반 익셉션 : 컴파일러에 의해 체크가 되는 익셉션

런타임 익셉션 : 컴파일러에 의해 체크가 되지 않고 WAS에게 넘겨주는 익셉션

 

개발자가 익셉션을 작성할 때 상속 받아 작성하는데 일반 익셉션은 Exception, 런타임 익셉션을 RuntimeException을 상속받아 작성합니다.  => 내가 작성한 오류 페이지를 띄울 수 있습니다.

 

오류 페이지를 사용할 경우 page 디렉티브의 errorPage 속성을 사용하여 지정합니다.

<%@ page errorPage = "에러페이지.jsp" %>

 

오류페이지는 web.xml을 통해 지정할 수도 있습니다.

web.xml을 사용하면 애플리케이션에 속한 모든 페이지들에 대해 공통 적용이 가능하며 에러 코드별 , 익셉션 타입별로 지정할 수 있습니다.

//에러 코드별
<error-page>
<error-code>404</error-code>
<locat ion>/userErrorPage/error404.jsp</location> 
</error-page>

//익셉션 타입별
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<locat ion>/userErrorPage/errorNullPointer.jsp</location> 
</error-page>

오류 페이지 우선 순위

우선 순위 적용 페이지
1 페이지 지정 오류 페이지
2 web.xml의 익셉션 타입에 의해 지정되는 오류 페이지
3 web.xml의 에러 코드에 의해 지정되는 오류 페이지
4 톰캣 기본 오류 페이지

'학습(구) > JSP' 카테고리의 다른 글

JSTL - core태그  (0) 2020.09.17
표현 언어(EL)  (0) 2020.09.16
로그인(쿠키와 세션)  (0) 2020.09.10
화면 모듈화와 소스 모듈화  (0) 2020.09.09
페이지 사이의 정보공유  (0) 2020.09.09