[출처] http://eyecandyzero.tistory.com/tag/404, http://levin01.tistory.com/575

web.xml에 error-page 설정후 적용되지 않을경우


	
	    java.lang.throwable
	    /common/error/error.ng
	
	
		java.lang.NullPointerException
		/common/error/error.ng
	
	
		java.lang.Exception
		/common/error/error.ng
	
	
	    404
	    /common/error/error.ng
	
	
	    400
	    /common/error/error.ng
	
	
	    500
	    /common/error/error.ng
	



IE 가 http 404 status 를 만나게 되면 대부분 로컬에 저장되어있는 다음 페이지를 강제로 보여주더군요
res://C:\WINNT\system32\shdoclc.dll/http_404.htm

<%@ page contentType="text/html; charset=MS949" %>
<%
	response.setStatus(HttpServletResponse.SC_OK); //200
	
	/*
	Object exObj = req.getAttribute("javax.servlet.error.exception");
	String uri = "";
	
	if(uriObj != null)
	{
		uri = uriObj.toString();
		
		out.println(uri);
		out.println("
"); } */ out.print(request.getAttribute("javax.servlet.error.status_code")); out.print("
"); out.print(request.getAttribute("javax.servlet.error.exception_type")); out.print("
"); out.print(request.getAttribute("javax.servlet.error.message")); out.print("
"); out.print(request.getAttribute("javax.servlet.error.exception")); out.print("
"); out.print(request.getAttribute("javax.servlet.error.request_uri")); %>

ERROR PAGE에서 활용하는 방법

${requestScope['javax.servlet.error.status_code']}

javax.servlet.error.status_code:
        에러 상태 코드를 말해 주는 정수
javax.servlet.error.exception_type
        에러가 생기게 된 예외 형을 지적해 주는 클래스 인스턴스
javax.servlet.error.message
        예외 메시지를 말해주는 스트링이며, 예외 컨스트럭터로 보내어 진다.
javax.servlet.error.exception
        실제 예외가 없어지면 버릴 수 있는 객체이다.
javax.servlet.error.request_uri
        문제를 일으킨 리소스의 URI를 말해주는 스트링이다.

javax.servlet.error.servlet_name

 

Throwable e = (Throwable)request.getAttribute("javax.servlet.error.exception");
Throwable e1 = (Throwable)request.getAttribute("javax.servlet.jsp.jspException");

 

오류 페이지에서만 쓸 수 있는 객체 : exception

<%@ page isErrorPage="true" %>
${pageContext.exception}


오류 발생 후 오류 페이지로 이동하지 않고 자체 페이지에서 해결하기 : <c:catch>

<c:catch>
   <% int x = 10/0; %>
   // 에러가 발생하면 다음을 실행하지 않고 </c:catch>로 곧장 이동한다.
</c:catch>


exception을 속성으로 만들어 에러 메시지 읽기

<c:catch var="myException">
   ...
</c:catch>
${myException.message}
// 타입이 Throwable이니 message프로퍼티가 있음

블로그 이미지

유효하지않음

,