最近在用SpringMVC,想用它的拦截器,但是配置了几次都不成功了,最后翻阅了不少文章终于成功了,遂记录于此,以方便他人。
首先引入命名空间:
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation加入:
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
拦截所有的请求可以这么配置
<mvc:interceptors>
<bean class="com.SpringFilter" />
</mvc:interceptors>
需要注意的是:
如果配置了:<mvc:annotation-driven/>,则以上的拦截器配置会失效,需要替换这样的,是不是感觉被坑了一样:
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
不成功的配置:
<bean id="commonInterceptor" class="com.SpringFilter" />
<bean
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="interceptors">
<list>
<ref bean="commonInterceptor" />
</list>
</property>
</bean>