SpringMVC可以设置资源放行,但是配置了SpringMVC拦截器,静态资源文件还是会被拦截
- 资源放行代码如下:
<!--或者<mvc:resources location="/fonts/" mapping="/fonts/**"/>-->
<mvc:default-servlet-handler />
配置Interceptor拦截器
<!-- Springmvc拦截器 -->
<mvc:interceptors>
<!-- 多个拦截器 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<!--拦截标签-->
<!--<mvc:mapping path="/**"/>-->
<!-- 自定义的拦截器类 -->
<bean class="top.maniy.interceptor.Interceptor"/>
</mvc:interceptor>
</mvc:interceptors>
静态资源文件会被拦截
两种处理方式:
第一种方式
在拦截器中加上排除拦截标签exclude-mapping
特点:不同类型的静态资源文件都要配置,项目大了比较臃肿
<!-- Springmvc拦截器 -->
<mvc:interceptors>
<!-- 多个拦截器 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<!--拦截标签-->
<!--<mvc:mapping path="/**"/>-->
<!--/排除拦截的标签-->
<mvc:exclude-mapping path="/**/fonts/*"/>
<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"/>
<!-- 自定义的拦截器类 -->
<bean class="top.maniy.interceptor.Interceptor"/>
</mvc:interceptor>
</mvc:interceptors>
第二种方式
在web.xml上解除SpringMVC拦截器对静态资源文件的拦截
特点:静态资源处理操作交给了默认的Servlet
解除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>/images/*</url-pattern>
</servlet-mapping>
两种方法都可行,建议第二种