`
Ben.Sin
  • 浏览: 229210 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

02-初试Spring3 MVC REST

阅读更多

由于配置Spring3的时候使用了如下设置

 

    <servlet>  
        <servlet-name>demo</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <load-on-startup>1</load-on-startup>  
    </servlet>
    
    <servlet-mapping>  
        <servlet-name>demo</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

 

导致所有资源都被当作spring的servlet处理,所以对于js, css, gif等资源都被处理掉了。

网上看了一下解决的办法,大多以这种方式处理

 

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

原理就是用 default 为自带的 servlet,过滤资源文件,避免spring3的拦截

 

尝试了一下,可以优化为

 

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

 这样,每增加一种资源的过滤(相对于spring3),只要增加一个url-pattern就可以了

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics