3
我想在引發異常時在JSF 2.0(MyFaces)應用程序中顯示默認的Tomcat錯誤頁面。JSF默認的tomcat錯誤頁面
我添加以下幾行加到web.xml中:
<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>
而且這裏的ErrorHandler的servlet:
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");
}
}
但不是缺省的Tomcat的錯誤頁面顯示空白頁錯誤代碼爲500.
當我嘗試訪問ErrorHandler servlet直接通過URL,它工作正常:顯示Tomcat錯誤頁面。
所以我猜想原因是JSF錯誤處理機制?我究竟做錯了什麼?