Sring MVC拦截器定义需要实现接口HandlerInterceptor 或者 继承类HandlerInterceptorAdapter,继承类只需要覆盖自己需要实现的方法,继承则需要实现接口所有方法,所以一般选择继承类HandlerInterceptorAdapter。
Spring mvc 拦截器三个主要方法。
方法1 preHandle() 在执行controler之前调用,如果返回false,则不再调用之后的方法
方法2 postHandle() 在controller执行之后调用,可在modelandview中加入数据,比如当前时间.
方法3 afterCompletion() 在呈现视图之后调用,用于释放资源等操作。
xml文件配置拦截器
<!-- Spring 拦截器 -->
<mvc:interceptors>
<!-- 此拦截器拦截所有请求 -->
<bean class="com.xxx.filter.XXXInterceptor"></bean>
<!-- 此拦截器拦截指定请求 -->
<mvc:interceptor>
<mvc:mapping path="/user/addUser.do"/>
<bean class="com.xxx.filter.XXXInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>