关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
2016-01-11 11:15
996 查看
在用spring mvc提供的拦截器做登录拦截的时候,我们经常需要编写自定义的登录拦截器,经常会发现拦截器无法使用或者是exclude-mapping无法起作用,总是被拦截,其原因主要是由于静态资源文件被拦截的原因,chrome浏览器中按f12,在network会发现js文件或者css文件等报红色的情况,这个时候虽然在spring-servlet里面配置了类似下面的资源
但是貌似静态资源的配置不会起作用,这个时候我们还是需要将resource文件加入到拦截器例外exclude-mapping中来:修改后如下:
这个时候就会发现可以正常使用了,js也不会被拦截了。
<mvc:resources location="/pages/" mapping="/pages/**"/> <mvc:resources location="/styles/" mapping="/styles/**"/> <mvc:resources location="/scripts/" mapping="/scripts/**"/>
mvc:interceptors> <!-- 配置登录拦截 --> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/auth/**"/> <bean class="com.ctrip.sp.cs.intercepter.LoginIntercepter"/> </mvc:interceptor> </mvc:interceptors>
但是貌似静态资源的配置不会起作用,这个时候我们还是需要将resource文件加入到拦截器例外exclude-mapping中来:修改后如下:
<mvc:resources location="/pages/" mapping="/pages/**"/> <mvc:resources location="/styles/" mapping="/styles/**"/> <mvc:resources location="/scripts/" mapping="/scripts/**"/>
<mvc:interceptors>
<!-- 配置登录拦截 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/auth/**"/>
<mvc:exclude-mapping path="/pages/**"/>
<mvc:exclude-mapping path="/styles/**"/>
<mvc:exclude-mapping path="/scripts/**"/>
<bean class="com.ctrip.sp.cs.intercepter.LoginIntercepter"/>
</mvc:interceptor>
</mvc:interceptors>
这个时候就会发现可以正常使用了,js也不会被拦截了。
相关文章推荐
- Java学习推荐书目
- java中static作用详解
- Java验证是否是身份证号
- Java中static作用详解
- Java日志:集成slf4j和logback
- maven+eclipse+groovy环境配置
- java初始化
- 从头认识java-17.3 线程状态
- java swing中常用的控件设置为背景透明的栗子
- java 获取可用的打印机列表 和 当前默认打印机
- eclipse配置maven出现这个问题,求大神解决
- spring自动扫描的问题
- Java之Pcap文件解析(三:解析文件)
- Spring3 MVC请求参数获取的几种方法
- Java中sleep()和wait()的区别
- 【第七章】 对JDBC的支持 之 7.2 JDBC模板类 ——跟我学spring3
- java,file,算法,加密解密,java源码
- Spring Cache
- Java ClassLoader机制
- Java之Pcap文件解析(一:Pcap格式分析)