转发 spring 过滤静态资源的2种方法

转发自 https://www.cnblogs.com/freeweb/p/5175188.html

spring 过滤静态资源的2种方法


 SpringMVC如果过滤器过滤范围配置了/或者/*,那么框架会过滤所有请求,包括自己写的请求和静态资源请求,这样静态资源就不能正常加载,包括js文件、css文件、图片资源访问的时候都会出现404页面,下面就来配置不过滤静态资源的方法

  第一种方法是最原生的,因为开始Spring核心过滤器过滤的路径是项目下所有路径,这个时候要改成过滤指定后缀即可,比如*.do,*.html等后缀,这样自己编写controller的时候全部主动设置请求为特定后缀,这样静态资源和编写的请求就可以区分开了
 <!-- 访问静态资源 -->
36     <mvc:resources location="/image" mapping="/**"/>
  第二种方法是如果我们打算编写没有后缀的请求,比如/hello这种,上面方法是有限制的,所以这个时候SpringMVC还是过滤/*这样的全部请求,我们在web.xml中配置静态资源优先过滤,这个时候服务器首先加载web.xml提前拦截静态资源请求,然后SpringMVC过滤器就拦截不到这些请求了,所以tomcat就可以正常使用静态资源了,在web.xml中添加如下配置,前后均可:

复制代码
 1   <servlet-mapping>
 2       <servlet-name>default</servlet-name>
 3       <url-pattern>*.jpg</url-pattern>
 4   </servlet-mapping>
 5   <servlet-mapping>
 6       <servlet-name>default</servlet-name>
 7     <url-pattern>*.js</url-pattern>
 8   </servlet-mapping>
 9   <servlet-mapping>
10     <servlet-name>default</servlet-name>
11     <url-pattern>*.css</url-pattern>
12   </servlet-mapping>
复制代码
  如果有更多的资源需要过滤,比如.png,.gif等等,都可以继续添加配置,也比较方便

  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值