Spring MVC 拦截 js,css,png 等资源

springMVC的<mvc:resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来定义对静态资源的访问。 
上网搜了一下跟这个配置相关的文章,大多推荐用下面这种。可是,用这种的话,如果有一个新目录,就得新增一条配置,比较麻烦。 

<!-- For static resources -->  
<mvc:resources mapping="/image/**" location="/images/" />  
<mvc:resources mapping="/js/**" location="/js/" />  
<mvc:resources mapping="/css/**" location="/css/" />  
<mvc:resources mapping="/html/**" location="/html/" />  
<mvc:resources mapping="/software/**" location="/software/" />  


下面这种是直接根据静态文件的后缀来配置的,比较通用,不用为每个子目录配置一个: 

	<mvc:resources location="/" mapping="/**/*.html"/>
	<mvc:resources location="/" mapping="/**/*.js"/>
	<mvc:resources location="/" mapping="/**/*.css"/>
	<mvc:resources location="/" mapping="/**/*.png"/>
	<mvc:resources location="/" mapping="/**/*.gif"/>


(原创文章,转载请注明转自Clement-Xu的csdn博客。) 
版权声明:本文为原创文章,转载请注明转自Clement-Xu的csdn博客。 

 


 

 

来源:http://blog.csdn.net/tlin2011/article/details/45482463

spring mvc 配置为:

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

时,当直接访问png,jpg等资源时,也会拦截,  web.xml 加入如下配置  则web服务器会处理,不会被spring 拦截

亲测:

<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>      
<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>  

 

另外: 不知为何加入<mvc:resources mapping="/images/**" location="/images/" />  可以访问资源,但是访问不了 controller了

posted on 2016-06-01 21:49  imsoft  阅读(995)  评论(0编辑  收藏  举报

导航