拦截器在spring项目中也使用普遍,aop就是运用了拦截器的原理,而拦截器的原理就是servlet中的filter
拦截器跟aop不同的是:拦截器可以获得modelAndView对象,并对modelAndView进行一些操作,也可以获得拦截了那个方法。
拦截器的实现:
(1)声明一个类实现handlerInterceptor,实现接口中的三个方法,三个方法分别是方法前拦截,进入方法,和方法执行完之后的拦截,若方法之前前拦截中的boolean为false,那么拦截器就不会向后执行了。
(2)xml文件中配置interceptor:
<mvc:interceptors> <!--拦截所有的controller--> <!--<bean id="interceptor1" class="com.interceptor"/>--> <mvc:interceptor> <mvc:mapping path="/aop/*"/> <bean class="com.interceptor"/> </mvc:interceptor> </mvc:interceptors>这样就可以实现拦截器了,也可以执行多个拦截器。