一直在工作中使用的springmvc,最近跟遇上一个奇怪的问题,在项目中通过mvc:interceptor的方式注入的拦截器不被执行。下面是配置文件:
web.xml
spring-servlet.xml
applicationContext.xml
spring-interceptor.xml
后台测试Controller
拦截器CheckInterceptor
现在是访问一个url eg:http:localhost:8080/projectName/app/http/testController/test 是能找到对应的controller的 方法也能的到执行 可就是进不了拦截器。下面贴上控制台打印的日志
红线上面部分就是,红线下面的是跳转后请求资源路径不对后造成的,重定向下就可以了。
请问下有谁遇上过类似的问题,或者知道是我哪里配置错,纠结了好久了。
spring-interceptor.xml
<mvc:mapping path="/http//*" /> ######回复 @小萧蚂蚁 : 嗯 是的 然后在讲mvc:interceptors移动到spring-servlet中就可以l######按照他这个意思,应该是这样<mvc:mapping path="/http/" />吧?###### 这是我平时的配置
<mvc:interceptors> <mvc:interceptor> <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller --> <mvc:mapping path="/**" /> <!-- 排除不需要拦截的目录 --> <mvc:exclude-mapping path="/login"/> <mvc:exclude-mapping path="/assets/**"/> <mvc:exclude-mapping path="/template/**"/> <bean class="com.wh.sys.interceptor.PermissionInterceptor"></bean> </mvc:interceptor> <!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 --> </mvc:interceptors>
######把你的mvc:interceptor 配置写到 spring-servlet.xml 试试 ######楼主,解决了吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。