spring mvc - 对静态资源的处理

spring mvc - 对静态资源的处理
spring对静态资源文件(js css htm html jpg jepg png bmp)等的处理方式如下:
一、交由上级web容器处理,在web.xml中的org.springframework.web.servlet.DispatcherServlet 配置之前加入如下代码:
  1. <servlet-mapping>   
  2.     <servlet-name>default</servlet-name>   
  3.     <url-pattern>*.css</url-pattern>   
  4. </servlet-mapping>  

根据不同的资源文件制定不同的映射机制,其中servlet-name在tomcat中默认是default,该servlet在tomcat\config\web.xml文件中默认配置,不同的应用服务器对应的静态资源文件处理的servlet名称不尽相同,如下:
  1. tomcat,jboss,glassfish,jetty : defaut;  
  2. weblogic : FileServlet;  
  3. websphere : SimpleFileServlet;  
  4. resin : resin-file;  
  5. GAE : _ah_default  

二、交由spring mvc:resources 处理
在dispatchServlet.xml文件中增加
<mvc:resources location="/WEB-INF/resource/" mapping="/resource/**"/>
该方式虽然静态资源文件可以访问了,但是如果系统配置了通配符的拦截器,静态资源还是会被拦截器拦截,如下:
  1. <mvc:interceptors>  
  2.     <mvc:interceptor>  
  3.         <mvc:mapping path="/*"/>   
  4.     <bean  class="com.xinlong.cms.front.interceptor.CmsFrontInterceptor"></bean>  
  5.     </mvc:interceptor>  
  6. </mvc:interceptors>  

因此需要修改,如下:
  1. <mvc:interceptors>  
  2.     <mvc:interceptor>  
  3.         <mvc:mapping path="/*"/>   
  4.         <mvc:exclude-mapping path="/resource/**"/>  
  5.     <bean  class="com.xinlong.cms.front.interceptor.CmsFrontInterceptor"></bean>  
  6.     </mvc:interceptor>  
  7. </mvc:interceptors>  

到此还有个问题mvc:exclude-mapping 标签不被spring-mvc-3.0.xsd支持,该配置在spring-mvc-3.2.xsd中,可以通过http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd获取,因此需要在spring-mvc-3.0.xsd文件中增加该标签,处理办法很简单,从网上下载spring-mvc-3.2.xsd,找到标签后,再找到spring.web.servlet-3.0.5.jar中的spring-mvc-3.0.xsd文件,将标签加入即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值