我用java 1.8.0_40运行Tomcat 8.0.21
我试图创建一个costum错误页面,当我重新部署我的应用程序并且无法访问servlet时,应显示该页面。
显而易见的解决方案:
<error-page>
<error-code>404</error-code>
<location>/ErrorHandler/404.html</location>
</error-page>
由于tomcat似乎总是在同一个servlet中寻找错误页面,所以到<tomcatDir>/conf/web.xml
不会在这里工作。 (例如,如果调用<url>/idonotexist
他使用位于404.html
而不是ROOT/ErrorHandler/404.html
的{{1}},而不是我预期的那样)如果网络应用已关闭(通过经理应用停止)或由于维护而导致错误页面为空白
如果我从ErrorHandler/404.html
删除行,则会显示默认的tomcat 404错误消息。有没有可能更改tomcat的默认错误处理?
编辑: ErrorHandler是一个部署的webapp,包含以下web.xml:
<tomcatDir>/conf/web.xml
如果我在浏览器中拨打<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Error Application</display-name>
<description>
A webapp for error handling
</description>
<!-- servlet definition -->
<servlet>
<servlet-name>ErrorHandler</servlet-name>
<servlet-class>ErrorHandler</servlet-class>
</servlet>
<!-- servlet mappings -->
<servlet-mapping>
<servlet-name>ErrorHandler</servlet-name>
<url-pattern>/ErrorHandler</url-pattern>
</servlet-mapping>
</web-app>
,我可以很好地查看错误页面。