2012-08-06 2 views
3

예외가 발생하면 JSF 2.0 (MyFaces) 응용 프로그램에 기본 Tomcat 오류 페이지를 표시하려고합니다.JSF 기본 tomcat 오류 페이지

public class ErrorHandler extends HttpServlet { 

protected void doGet(HttpServletRequest request, 
     HttpServletResponse response) throws ServletException, IOException { 
     doPost(request, response); 
    } 

protected void doPost(HttpServletRequest request, 
     HttpServletResponse response) throws ServletException, IOException { 
     response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 
       "Error"); 
    } 
} 

하지만 그 대신 기본 톰캣 오류 페이지의 빈 페이지가 표시됩니다 ErrorHandler를 서블릿 여기

<error-page> 
    <exception-type>java.lang.Throwable</exception-type> 
    <location>/ErrorHandler</location> 
</error-page> 
<context-param> 
    <param-name>org.apache.myfaces.ERROR_HANDLING</param-name> 
    <param-value>false</param-value> 
</context-param> 

그리고입니다 :

나는 web.xml 파일에 줄 다음에 추가 오류 코드 500이 표시됩니다.

ErrorHandler 서블릿 URL을 통해 직접, 그것은 작동 확인 : 톰캣 오류 페이지가 표시됩니다.

이유는 JSF 오류 처리 메커니즘이 맞습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

응용 프로그램 서버의 기본 오류 페이지를 표시하려면 web.xml에서 오류 페이지 항목을 제거하고 컨텍스트 init-parameter javax.faces.PROJECT_STAGE를 Production으로 설정하면됩니다.