2012. 9. 7. 13:42

[펌]JSP 에러처리 방법 및 우선순위

원본 : http://uniksy1106.tistory.com/177

 

에러코드 링크 : http://www.allhost.co.kr/94

 

+ 에러 페이지의 우선 순위

   여러개의 에러 처리가 지정되어져 있을 경우 아래와 같은 우선 순위에 의해 에러 페이지가 나타나게 된다.

   01. page 디렉티브의 errorPage 속성.
   02. web.xml 파일의 <exception-type>에서 지정한 예외 타입 속성.
   03. web.xml 파일의 <error-code>에서 지정한 에러코드 처리 속성.
   04. 해당사항이 없으면 웹 커테이너가 제공하는 기본 에러 페이지를 나타낸다.

 

 

JSP에서 에러페이지를 설정하는 방법에는 크게 세가지 방법이 있다.
그럼, 이 세가지 방법에 대해서 간단히 알아 보도록하자.


+ page 디렉티브(Directive) errorPage 속성을 이용한 에러 처리- [ 에러 처리 01 ]

   특정 페이지에서 에러가 났을 경우 처리할때 주로 사용하게 된다. 
   에러 처리를할 특정 페이지의 page 디렉티브((Directive)에서 errorPage를 추가 하면 끝!! ^^
   이 페이지에서 에러가 날 경우 지정된 페이지를 화면에 나타내게 된다.

  ex. <%@ page errorPage="/error/error.jsp" %>      --->> 에러 페이지 주소


+ web.xml 에서 응답 상태 코드별 에러 처리 - [ 에러처리 02 ]

   web.xml 파일에서 <error-page> 태그를 통해 에러를 처리한다.
   이 경우 404 에러가 나게 되면 지정된 페이지를 보여주게 된다.

   ex.    <error-page>
               <error-code>404</error-code>                 --->> 에러 코드
               <location>/error/error404.jsp</location>    --->> 에러 페이지 주소
           
</error-page>


+ web.xml 에서 예외 타입별 에러 처리 - [ 에러처리03 ]

   web.xml 파일에서 <exception-type> 태그를 통해 에러를 처리 한다.
   이 경우 지정된 예외 타입의 에러가 나게 되면 지정된 페이지를 보여주게 된다.
 
  ex.    <error-page>
              <exception-type>java.lang.NullPointerException</exception-type>   --->> 에외 타입
              <location>/error/errorNullPointException.jsp</location>                 --->> 에러 페이지 주소
          </error-page>


+ 에러 페이지 생성

   에러 페이지는 페이지의 특성과 디자인에 맞게 만들어 주면된다.
   만약, 에러 페이지에서 exception 기본 객체를 사용하고 싶다면
   페이지 디렉티브의 isErrorPage 속성값을 true로 지정해주면 된다.

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


  인터넷익스플로러(ie)에서는 에러 페이지의 길이가 513 바이트 보다 작으면 우리가 보여주려고하는 
  에러 페이지를 나타내지 않고, ie에서 자체적으로 제공하는 'HTTP 오류 메세지'를 화면에 나타내게 된다.
  이점에 주의해야하며, 올바르게 나타내기 위해선 주석 등으로 513 바이트 이상이 되록 해주면 된다.