Spring3无法显示css/js/jpg/gif

来源:互联网 发布:投资理财系统源码 编辑:程序博客网 时间:2024/05/28 06:04

项目中正在使用着Spring3 REST带来的快活,忽然一条很不和谐的错误信息出现,如下所示:
 2010-05-07 09:07:43,275 WARN   org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:962) No mapping found for HTTP request with URI [/Spring3/css/mSelect.js] in DispatcherServlet with name 'springmvc'  
 2010-05-07 09:07:43,275 WARN   org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:962) No mapping found for HTTP request with URI [/Spring3/css/style_index.css] in DispatcherServlet with name 'springmvc'  

这说明在web工程中的css、js、gif、jpg 等都无法显示出来,都是因为下面这段配置导致的
 <servlet-mapping>   
     <servlet-name>springmvc</servlet-name>   
     <url-pattern>/</url-pattern>   
 </servlet-mapping>   


换成这样一点问题都没有,虽然没有问题,不是我们期望的结果,多了后缀 .do。

 <servlet-mapping>   
     <servlet-name>springmvc</servlet-name>   
     <url-pattern>*.do</url-pattern>   
 </servlet-mapping>  

这说明要将那些不能显示的 css/js/jpg/gif 文件排除在过滤器以外不经过过滤器,不然Spring3的过滤器会认为你没有将这个url进行映射,在网上找了很多资料都没有非常针对性的答案,于是经过几番折腾,总算搞定,加上以下配置在web.xml中,将默认的过滤器选项激活,世界又恢复平静,css、js、gif、jpg 等一切显示正常
     <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>*.jpg</url-pattern>
    </servlet-mapping>
     
    <servlet-mapping>
         <servlet-name>default</servlet-name>
         <url-pattern>*.js</url-pattern>
    </servlet-mapping>

–end–