springMVC访问静态资源

1.默认的访问的URL都会被DispatcherServlet所拦截,好比拦截规则定义为/;
也就是说,全部的请求都会被springMVC拦截,根据HandlerMapping的配置来匹配对应的URL映射,而对于静态资源来讲,默认的Spring MVC是没有注册匹配规则的,此时若你去请求一个静态资源,则会报404错误。
2.设置静态访问资源目的就是不去拦截该urlweb

web.xmlspring

<!-- 配置springMVC -->
  <servlet>
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
             <!-- contextConfigLocation 是固定的 -->
            <param-name>contextConfigLocation</param-name>
                 <!-- 配置读取路径-->
            <param-value>classpath*:config/spring-servlet.xml</param-value>
        </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <!-- 配置拦截规则-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

spring-servlet.xmlmvc

<!-- 静态资源访问 -->
    <mvc:resources location="/img/" mapping="/img/**" />
    <!-- mapping:映射,location:本地资源路径,必定要是webapp根目录下,注意必须是webapp根目录下的路径。 **,它表示映射/img/下的全部文件 -->

测试:为了方便测试,我直接访问图片路径,由于配置的路径规则是/,因此对全部的url都会路拦截.
测试一:不配静态资源访问,
这里写图片描述app

测试二:配静态资源访问,能够不被拦截规则拦截webapp

这里写图片描述

相关文章
相关标签/搜索