SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式:
第一种方式是要定义的Interceptor类要实现了Spring 的HandlerInterceptor 接口,或者是这个类继承实现了HandlerInterceptor 接口的类,比如Spring 已经提供的实现了HandlerInterceptor 接口的抽象类HandlerInterceptorAdapter ;
第二种方式是实现Spring的WebRequestInterceptor接口,或者是继承实现了WebRequestInterceptor的类。
,刚开始图省事,直接拷贝别的拦截器,继承的父类或者实现的类不是这些,然后报了spring的构造器错误,搞了好久想到有可能是这个问题,换了之后就好了
在springmvc配置文件中配置
<mvc:interceptors> <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 --> <bean class="xxxx"/> <mvc:interceptor> <!-- 进行拦截:/**表示拦截所有controller --> <mvc:mapping path="/**" />
<!-- 不进行拦截 --> <mvc:exclude-mapping path="/index.html"/> <bean class="xxxx"/> </mvc:interceptor> </mvc:interceptors>