侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 292 篇文章
  • 累计创建 132 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

java web项目web.xml配置错误页面的办法

孔子说JAVA
2022-09-21 / 0 评论 / 0 点赞 / 20 阅读 / 1,750 字 / 正在检测是否收录...

当应用程序出现错误的时候,如果没有做错误页面处理的话,会直接输出一些敏感的信息出来(如系统信息,中间件信息,查询语句等),有时候甚至会直接将项目所在的物理路径给显示出来,严重危害了系统安全,并且错误种类繁多,页面风格不一,导致用户体验不好,本文介绍如何在web项目中创建错误页面,从而友好的提示错误信息。

1、通过错误码来配置error-page

<error-page> 
    <error-code>500</error-code> 
    <location>/error.jsp</location> 
</error-page>

上述代码配置了当系统发生500错误(即服务器内部错误)时,跳转到错误处理页面error.jsp。

image-1663665755421

我们可以在web.xml中配置比较全面的异常处理代码,web.xml中关于error-page的定义如下:

<error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/jsp/errors/error.jsp</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/WEB-INF/jsp/errors/error.jsp</location>
</error-page>
<error-page>
    <error-code>414</error-code>
    <location>/WEB-INF/jsp/errors/error.jsp</location>
</error-page>
<error-page>
    <error-code>505</error-code>
    <location>/WEB-INF/jsp/errors/error.jsp</location>
</error-page>
<error-page>
    <error-code>400</error-code>
    <location>/WEB-INF/jsp/errors/error.jsp</location>
</error-page>

看样子貌似几乎所有常见的服务器端的异常都被覆盖到了,出现这些异常的时候页面会跳转到error.jsp中。但是这样就够了吗,显然是不够的,试想当系统出现空指针异常,且这些异常都只是被抛出来而没有得到非常妥当的处理时,将不会适配到上述任何配置,这时前端用户将会面对一大段异常文本而不知所措(同时还泄露了很多服务器的敏感信息),这时可以通过异常的类型来配置error-page。

2、通过异常的类型配置error-page

<error-page> 
    <exception-type>java.lang.NullPointerException</exception-type> 
    <location>/WEB-INF/jsp/errors/error.jsp</location> 
</error-page>

上述代码配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp。当然我们也可以直接配置java.lang.Exception,这样所有的Exception异常都会被适配到。

<error-page> 
    <exception-type>java.lang.Exception</exception-type> 
    <location>/WEB-INF/jsp/errors/error.jsp</location> 
</error-page> 
0

评论区