Spring mvc 统一异常处理和静态文件的配置

1.在spring mvc下实现统一异常处理很方便,只要在web.xml中配置异常时要显示的页面即可,如下:

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/html/500.htm</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/html/404.htm</location>
</error-page>

指定了异常时显示的页面为/html/500.htm,在这个页面中可以显示一些友好的提示给用户,避免把出错信息暴露出去。

2.那么这个/html/500.htm的页面在项目中的地址是什么呢?

如果按照默认的配置,系统会找RequestMapping(value="/html/500")的action,但这个页面是一个静态页面,没有必要再走mvc,所以可以把html目录配置成静态文件目录来绕过mvc解析,如下配置:

<beans:beans 
     ........

    <resources mapping="/html/**" location="/resources/html/" />

    .........

在bean文件中把/html/**的文件指到一个目录下,当成资源访问,同样的方式,还可以实现favicon.ico在根目录的访问

<resources mapping="/favicon.ico" location="/resources/images/favicon.ico" />

这样就可以了,最后附下目录结构:

原文地址:https://www.cnblogs.com/liuyifan/p/5077775.html