gpt4 book ai didi

java - JSF默认tomcat错误页面

转载 作者:行者123 更新时间:2023-12-02 03:28:02 25 4
gpt4 key购买 nike

我想在抛出异常时在 JSF 2.0 (MyFaces) 应用程序中显示默认的 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。

当我尝试直接通过 URL 访问 ErrorHandler servlet 时,它工作正常:显示 Tomcat 错误页面。

所以我猜原因是JSF错误处理机制?我做错了什么?

最佳答案

如果您想显示应用服务器的默认错误页面,只需从 web.xml 中删除错误页面条目并将上下文初始化参数 javax.faces.PROJECT_STAGE 设置为 Production。

关于java - JSF默认tomcat错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11826573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com