如标题中所述,我想更改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>
(上面的例子不起作用,但有另一种方法吗?)
由于
答案 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>
。