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就可以了

你可能感兴趣的:(spring,mvc,css,servlet,REST)