springmvc中对静态资源的处理

如果将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当成一个普通请求处理,因此找不到对应处理器将导致错误

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

解决方案:采用<mvc:resources />进行处理

1.在spring-mvc.xml中添加 

  xmlns:mvc="http://www.springframework.org/schema/mvc"
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc.xsd

 2.在spring-mvc.xml中添加

    <mvc:annotation-driven/>
    
    <mvc:resources mapping="/resources/**" location="/images/"/>
    
    <mvc:resources mapping="/resources2/**" location="/css/"/>

3.如果请求的静态资源放置于/images文件夹下,如图所示

 4.则在图片src修改成/resources/article_list.jpg而非/images/article_list.jpg

5.此时再访问时就可以访问静态资源了

posted @ 2018-08-17 12:29  lsaac  阅读(105)  评论(0编辑  收藏  举报