Tomcat9及以上的ErrorReportValve类代码 - 自行反编译Tomcat8、Tomcat9此类区别
此方法只能在Tomcat9及以上才生效,因为Tomat8及以下在org.apache.catalina.valves.ErrorReportValve类内没有setProperty代码,故不能通过此类自定义页面
Tomcat目录/conf/server.xml == 下面两者皆可
<!--共同点
1. ErrorReportValve 中的errorCode配置仅支持Tomcat8+版本
2. 400页面不进入webapps具体的项目目录、这很重要,即使你地址中有项目文件夹的名字,如下面400链接
http://127.0.0.1:8080/docs/config/xxx?fol=c:\\iu
3. 500、404如果匹配到wenapps里面的项目目录,会进入到里面,故可以使用errorCode.404="/404.html",开头斜杠表示webapps下具体里面项目目录,如下面的404链接
http://127.0.0.1:8080/docs/a 开头斜杠表示 Tomcat目录/webapps/docs目录
http://127.0.0.1:8080/test 没有找到 开头斜杠则默认使用/webapps/ROOT目录
4. 不加斜杠表示:Tomcat目录
-->
<!--第一个 404页面需在每个webapps各项目里面添加404.html【放多份】-->
<!--<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" errorCode.400="webapps/404.html" errorCode.404="/404.html">
</Valve> -->
<!--第二个 404页面仅需在webapps下放个404.html页面即可【放一份】-->
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" errorCode.400="webapps/400.html" errorCode.404="webapps/404.html">
</Valve>
Tomcat目录/conf/web.xml
<error-page>
<error-code>404</error-code> <!--错误码-->
<location>/404.html</location> <!--相对webapps/xx目录-->
</error-page>
<!--
1. http://127.0.0.1:8080/examples/a 404页面
404访问路径:webapps/examples/404.html
2. http://127.0.0.1:8080/test 404页面
无webapps/test目录则访问
webapps/ROOT/404.html
-->
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_39651356/article/details/119957736
内容来源于网络,如有侵权,请联系作者删除!