原文地址:点击进入
在上面那篇文章看到的拦截器与过滤器的区别,在面试的时候要说的出来:
1、原理不同:拦截器是基于java的反射机制,而过滤器是基于函数回调;
2、依赖servlet容器:过滤器依赖于servlet容器(或者可以认为过滤器是servlet的变体);而拦截器不依赖于servlet容器;
3、对什么起作用:拦截器只能对action(控制层)请求起作用;而过滤器则可以对机会所有的请求起作用(包括jsp);
4、拦截器可以访问action上下文、值栈里的对象;而过滤器不能;
5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。