【spring mvc】Spring MVC下 js,css,jpg等资源文件被拦截的解决办法

今天在做整合SpringMvc时,发现原来项目的资源文件在SpringMvc下都不能用了。经过一番研究,发现原因如下: 

web.xml中配置了/,会过滤所有请求,包括对资源文件的请求。 

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- load-on-startup:表示启动容器时初始化该Servlet-->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <!-- url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。 -->
    <!-- 也可以如“*.html”表示拦截所有以html为扩展名的请求。 -->
    <url-pattern>/</url-pattern>
</servlet-mapping>

所以,需要再配置:

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>

</servlet-mapping>

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

引用一段别人的原话

  1. url-pattern有5种配置模式:  
  2.   
  3. (1)/xxx:完全匹配/xxx的路径  
  4.   
  5. (2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。  
  6.   
  7. (3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。  
  8.   
  9. (4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。  
  10.   
  11. (5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值