过滤器,拦截器区别

原创 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中可重用的部分的方式。 



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

过滤器,拦截器适用场合

 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤...
  • cuiyaonan2000
  • cuiyaonan2000
  • 2015年03月25日 09:36
  • 1071

Java过滤器与SpringMVC拦截器之间的关系与区别

今天学习和认识了一下,过滤器和SpringMVC的拦截器的区别,学到了不少的东西,以前一直以为拦截器就是过滤器实现的,现在想想还真是一种错误啊,而且看的比较粗浅,没有一个全局而又细致的认识,由于已至深...
  • chenleixing
  • chenleixing
  • 2015年03月23日 23:14
  • 130953

JavaWeb中监听器+过滤器+拦截器区别、配置和实际应用

JavaWeb中监听器+过滤器+拦截器区别、配置和实际应用 1.前沿上一篇文章提到在web.xml中各个元素的执行顺序是这样的,context-param-->listener-->filter--...
  • Jintao_Ma
  • Jintao_Ma
  • 2016年10月30日 19:51
  • 5164

Filter(过滤器)与Interceptor(拦截器)的区别

一、filter基于filter接口中的doFilter回调函数,interceptor则基于Java本身的反射机制;  二、filter是依赖于servlet容器的,没有servlet容器就无法回...
  • Vincent_yuan1991
  • Vincent_yuan1991
  • 2016年10月16日 15:42
  • 5846

过滤器和拦截器的本质区别

1、首先要明确什么是拦截器、什么是过滤器 1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或...
  • huangtao99
  • huangtao99
  • 2016年03月28日 10:29
  • 2474

AOP--Filter使用,过滤器和拦截器的区别

AOP(Aspect-Oriented Programming,面向切面编程)是一种编程思想,并不是一种具体的实现,谈到实现一般有Filter和代理模式两种常见的使用方式,spring中的AOP也是封...
  • u010255859
  • u010255859
  • 2016年04月19日 14:32
  • 3048

过滤器和拦截器之间的关系和区别

1.过滤器和拦截器的区别    1)原理不同:拦截器是基于java的反射机制,而过滤器是基于函数回调    2)作用对象不同:拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作...
  • u012119503
  • u012119503
  • 2016年12月14日 14:56
  • 538

java web中过滤器、拦截器和监听器的区别

1.过滤器 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可...
  • I_Am_Zou
  • I_Am_Zou
  • 2016年09月07日 15:24
  • 2013

SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

一 简介 (1)过滤器: 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操...
  • xiaoyaotan_111
  • xiaoyaotan_111
  • 2016年12月22日 18:02
  • 23574

springmvc过滤器和拦截器的区别

过滤器和拦截器的区别:   (1)拦截器是基于Java的反射机制的,而过滤器是基于函数回调。   (2)拦截器不依赖与servlet容器,过滤器依赖与servlet容器。   (3)拦截器只能对...
  • hiahuotiankong
  • hiahuotiankong
  • 2017年01月25日 15:22
  • 579
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:过滤器,拦截器区别
举报原因:
原因补充:

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