拦截器(Interceptor)是 struct2的概念,是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.
过滤器,是在java web中,你传入的request,response前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url.典型为:url-pattern
拦截器与过滤器的区别:
拦截器是基于java的反射机制的,而过滤器是基于函数回调。
拦截器不依赖与servlet容器,是AOP;过滤器依赖与servlet容器,是回调。
拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。