赞
踩
在Spring Boot中:
这里还可以自行添加拦截器:
Spring在Registry中通过org.springframework.web.servlet.config.annotation.InterceptorRegistry#registrations来存储各个拦截器。套路和之前分析过的Spring Boot自定义消息、类型转换器差不多(可参看:https://blog.csdn.net/Dongguabai/article/details/81624145,https://blog.csdn.net/Dongguabai/article/details/81624224)。
在Spring中设置不拦截静态资源可以参看这篇文章:https://blog.csdn.net/qq_40594137/article/details/79112700
方案一:拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml)
注意:需引入mvc命名空间
- <!-- 添加注解驱动 -->
- <mvc:annotation-driven/>
- <!--
- 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源,而不通过控制器
- 设置不过滤内容,比如:css,js,img 等资源文件
- location指的是本地的真是路径,mapping指的是映射到的虚拟路径。
- -->
- <mvc:resources mapping="/css/**" location="/css/"/>
在spring-mvc.xml中添加:
- <!--启用默认Servlet-->
- <mvc:default-servlet-handler/>
在web.xml中添加:
- <!--增加对静态资源的处理,当前的设置必须在Spring的Dispatcher的前面-->
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.css</url-pattern>
- <url-pattern>/css/*</url-pattern>
- </servlet-mapping>
- <!-- 拦截所有请求 -->
- <servlet-mapping>
- <servlet-name>dispatcher</servlet-name>
- <!--<url-pattern>/</url-pattern>-->
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
这时,我们浏览器的所有访问路径就要变成:http://localhost:8080/xxx/xxx.do
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。