过滤器,拦截器区别

原创 2017年01月03日 02:26:49
1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。
2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 
3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4. 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 
5. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
①以常规的方式调用资源(即,调用servlet或JSP页面)。
②利用修改过的请求信息调用资源。
③调用资源,但在发送响应到客户机前对其进行修改。
④阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。


过滤器依赖于servlet容器,    
故过滤器可以看做是web标准,一般配置在web.xml中,在遇到符合规则的请求时处理。


而拦截器依赖于各自的框架,比如struts2的拦截器,springmvc的拦截器,依赖于各自的框架
 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 
 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。 



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

过滤器与拦截器的区别

  • 2014年12月27日 16:22
  • 25KB
  • 下载

Struts 2 过滤器和拦截器的区别

  • 2012年01月31日 15:01
  • 26KB
  • 下载

java 拦截器和过滤器区别(转载)

1、拦截器是基于java的反射机制的,而过滤器是基于函数回调  2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器  3、拦截器只能对action请求起作用,而过滤器则可以对几...
  • sdywcd
  • sdywcd
  • 2013年05月25日 21:20
  • 1440

拦截器和过滤器的区别

  • 2012年08月20日 20:52
  • 12KB
  • 下载

拦截器和过滤器的区别

  • 2011年11月04日 00:10
  • 25KB
  • 下载

Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别

Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别? Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,...

过滤器和拦截器区别区别

  • 2011年07月27日 16:19
  • 29KB
  • 下载

Struts2学习(五)---什么时候用过滤器和拦截器及区别

过滤器和拦截器的区别:1、拦截器是基于java的反射机制的,而过滤器是基于函数回调 。 2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 。 3、拦截器只能对action...

Servlet 过滤器(filter)和Spring 拦截器(Interceptor)区别

转自:http://blog.csdn.net/ggibenben1314/article/details/45341855 一、定义 拦截器 :是在面向切面编程的就是在你的ser...

Filter(过滤器)和Intecepter(拦截器)的区别

过滤器,是在Java Web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法u...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:过滤器,拦截器区别
举报原因:
原因补充:

(最多只允许输入30个字)