如何自定义Tomcat 404错误页面
在Tomcat安装目录下的conf/web.xml最后的</web-app>之前增加如下代码:
<error-page>
<error-code>404</error-code>
<location>/ErrorPage404.jsp</location>
</error-page>
常见问题及解决:
404错误页出现这个问题,我在web.xml定义了如下的定义,
<error-page>
<error-code>404</error-code>
<location>/error_404.htm</location>
</error-page>
路径的是对的,奇怪的是我测试时输入一个不存在的页,出现404错误提示出现的却不是我所定义的页面,这就怪了.我记得在weblogic中我也是这样定 义的,所以我首先想到的时服务器的问题. 只是这种问题,不要分析,我试着在javaworld发了一贴,问了一下. 在google上搜了一下,才发现很多人都出现过这个问题.这是实际出问题,要是一直照着课本,应该不会想到这些问题,只是自己实际操作的才发现这些.
通看了所有的帖子,出现这种问题,主要有以下几个因素:
1.使用 tomcat 服务器
2.tomcat服务器版本
3.浏览器问题
4.IE的设置
5.错误页本身的大小
第一点,我想我的经历应该可以算个证明.
第二点.很多人用tomcat5.5可以顺利的找到错误页
第三点.换了一下FF,可以顺利找到指定的错误页
第四点.我设置了 工具–>Internet选项–>高级—>显示http友好错误信息(取消选择) ,可以顺利定向到指定错误页,
说明可以
第五点,我试着发狠输了一大堆东西进去, 指定错误页顺利出现了.
下面是提供的解决方法:
1.升级tomcat (换成其它服务器,代价沉重)
2.ie 设定 工具–>Internet选项–>高级—>显示http友好错误信息(取消选择) ,
3. 把错误页做大一点,具体几个字节,没测试,估计三四百足够了, (加一个div块,display设为none就可以了)
4.设置指定错误页页状态为正确,骗过IE的自定义错误页方法
<%
response.setStatus(200); // 200 = HttpServletResponse.SC_OK
%>