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>
兩種方法都可行,建議第二種