Spring项目中使用到了拦截器,但是配置完成之后死活不起作用。
----------------------------------------------------------------------------------------------------------------
网上有的说是因为在spring-mvc.xml文件中配置了 <mvc:annotation-driven/>此标签,导致拦截器不起作用,因为在这个标签中默认有一个拦截器《这句会其实它已经注册了一个DefaultAnnotationHandlerMapping ,而后面你自己注册的优先级没它内部的高,所以一直都不会调用你注册的拦截器。》于是我按照此方法试了一下,把这个标签去掉,但是很遗憾报错了。报错说:no mapping,大概就是说找不到映射的路径。
----------------------------------------------------------------------------------------------------------------
既然<mvc:annotation-driven/>此标签中有默认的拦截器,那么我就在
<!--拦截器--> <mvc:interceptors> <bean class="com.pdd.interceptor.PddInterceptor"/> 在这里把拦截器的全类名声明好,结果问题解决了 <mvc:interceptor> <!--暂时默认拦截所有请求,到时根据需求改变--> <mvc:mapping path="/*"/> <bean class="com.pdd.interceptor.PddInterceptor"/> </mvc:interceptor> </mvc:interceptors>