【05】SpringMVC笔记–静态资源过滤
在springMVC配置文件中添加过滤器
<!-- 前端控制器,配置哪些静态资源不拦截-->
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/images/" mapping="/images/**"/>
<mvc:resources location="/js/" mapping="/js/**"/>
—
注:springMVC的拦截器,如果配置拦截路径的是"/**" ,静态资源还是会被拦截
解决方法:
- 使用默认的Servlet静态资源处理器
- 修改Spring的全局拦截设置为*.do的拦截
- 在SpringMVC拦截器中单独一个个配置哪些静态资源不要拦截(不推荐
第一种:使用默认的Servlet静态资源处理器
- 在
spring-mvc.xml
配置
<!--使用默认的静态资源 处理Servlet处理静态资源 -->
<mvc:default-servlet-handler/>
- 然后在
web.xml
中配置(放前端控制器前
<!--解除SpringMVC拦截器对静态资源文件的拦截-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>/assets/*"</url-pattern>
<url-pattern>/img/*</url-pattern>
<url-pattern>/fonts/*</url-pattern>
</servlet-mapping>
第二种:设置全局拦截设置为*.do的拦截
web.xml
配置
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
第三种:配置自定义springMVC拦截器
spring-mvc.xml
配置
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**/*"/>
<mvc:exclude-mapping path="/**/*.css"/>
<mvc:exclude-mapping path="/**/*.js"/>
<mvc:exclude-mapping path="/**/*.png"/>
<mvc:exclude-mapping path="/**/*.gif"/>
<mvc:exclude-mapping path="/**/*.jpg"/>
<mvc:exclude-mapping path="/**/*.jpeg"/>
<mvc:exclude-mapping path="/**/fonts/*"/>
<bean class="com.luwei.console.mg.interceptor.MyInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>