有没有办法在tomcat的web.xml中为所有错误代码配置ONE自定义错误页面的使用?

时间:2011-11-15 11:09:00

标签: tomcat configuration

如标题中所述,我想更改tomcat中的默认错误页面并执行:

<error-page>
  <error-code>500</error-code>
  <location>/error_500.html</location>
</error-page>

 <error-page>
   <error-code>404</error-code>
   <location>/error_404.html</location>
</error-page>

是否可以使用通配符错误代码,如

<error-page>
  <error-code>*</error-code>
  <location>/error.html</location>
</error-page>

(上面的例子不起作用,但有另一种方法吗?)

由于

1 个答案:

答案 0 :(得分:10)

不,Tomcat没办法。

Servlet 3.0规范支持全局错误页面,如下所示:

<error-page>
    <location>/error.html</location>
</error-page>

所以理论上它应该至少在Tomcat 7.0中起作用。但它在Tomcat 7.0中没有正确实现。我曾经报道issue 52135有关此问题,但他们否认了这一点。它适用于其他Servlet 3.0容器。

但是,您可以通过实现特定于Tomcat的ErrorReportValve类来解决此问题,然后将其注册为<Host errorReportValveClass>