avatar

springMVC拦截器拦截静态资源问题

问题描述

1.在springmvc框架中开放了静态资源访问权限,如下图

2.配置了拦截器,如下图

3.项目中的DispatcherServlet的url-pattern的值是/

以上3点都满足可能会造成静态资源被拦截无法访问的情况

解决办法

让tomcat默认的servlet处理静态资源(默认servlet在tomcat/config/web.xml中,如下图)

只需要在项目的web.xml中为default 这个servlet指定映射地址就可以,下面的配置的意思是如果请求后缀是.js或者以/assests/开头的资源就会交给tomcat默认servlet处理

1
2
3
4
5
6
7
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>/assets/*"</url-pattern>
<url-pattern>/images/*</url-pattern>
</servlet-mapping>

注意事项

以上配置要配置在springMVC的servlet的上面

其实还有其他解决办法,但是推荐这一种,其他的本文不做详解。

文章作者: 微信:hao_yongliang
文章链接: https://haoyongliang.gitee.io/2019/08/27/%E9%97%AE%E9%A2%98/springMVC%E6%8B%A6%E6%88%AA%E5%99%A8%E6%8B%A6%E6%88%AA%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90%E9%97%AE%E9%A2%98/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 郝永亮的主页
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论