Spring 中拦截器与过滤器的区别

spring 中拦截器 与servlet 的filter 有相似之处.比如二者都是aop 编程思想的体现都能实现权限检查,日志记录等.

  不同之处

  1. 使用范围不同 Filter 是Servlet 规定的.只能用于web 程序.而拦截器既可以用于Web 程序,也可以用于Apllicatioon,Swing程序中。
  2. 规范不同:Filter是在SerVlet 规范定义的,是Servlet容器支持的。而拦截器是在Spring 容器内的,Spring 框架所支持的。
  3. 使用资源不同:同其他代码块一样,拦截器也是一个Spring的组件,归Spring 管理。配置在Spring 中,因此能使用Spring 中的任何资源,对象,例如Service对象,数据源,事务管理等。通过Ioc注入到拦截器即可。而filter 则不能。
  4. 深度不同:Filter 只在Servlet前后起作用,而拦截器能深入到方法前后,异常抛出前后因而拦截器的使用具有更大的弹性,所以在spring 中优先使用拦截器。
时间: 2024-10-10 08:32:50

Spring 中拦截器与过滤器的区别的相关文章

关于拦截器与过滤器使用场景、拦截器与过滤器的区别整理

拦截器与过滤器的区别总结: 过滤器在web.xml中配置: (1)因为一开始在过滤器中映射的url-pattern填写路径是*.action.所有的action要经过它的过滤.<url-pattern>*.action</url-pattern> (2)因为在web.xml中配置了过滤器,所以,执行过程所有程序都经过struts2过滤器(路径是:/*),首先过滤自己相关的程序,如xx.action,先处理,如果是.html或者.jsp就不会处理,直接放行. 解决方法:把过滤器映射路

拦截器与过滤器的区别

过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符 拦截器,是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现

【JAVA学习】拦截器与过滤器的区别

过滤器 它是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符 拦截器 它是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单

Spring Aop、拦截器、过滤器的区别

Filter过滤器:拦截web访问url地址.Interceptor拦截器:拦截以 .action结尾的url,拦截Action的访问.Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service)----------------------------------------------------------------------------Spring AOPSpring AOP,是AOP的一种实现,使用的是代理模式.FilterFilter(过滤器)是J2E

struts2中拦截器与过滤器之间的区别

首先是一张经典的struts2原理图 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy d) ActionProxy将会通过ConfigurationManager来查找配置struts.xml        i. 下一步将会

拦截器与过滤器的区别 :

拦截器是基于java的反射机制的,而过滤器是基于函数回调. 拦截器不依赖于servlet容器,过滤器依赖于servlet容器. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用. 拦截器可以访问action上下文.值栈里的对象,而过滤器不能访问. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次 执行顺序 :过滤前 - 拦截前 - Action处理 - 拦截后 - 过滤后.个人认为过滤是一个横向的过程,首先把客户端提交的内容进行过滤(

谈谈拦截器与过滤器的区别:

1.拦截器是基于java反射机制的,而过滤器是基于函数回调的. 2.过滤器依赖于servlet容器,而拦截器不依赖于servlet容器.3.拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用.4.拦截器可以访问Action上下文.值栈里的对象,而过滤器不能.5.在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次. 原文地址:https://www.cnblogs.com/feifeicui/p/8727901.html

ava中拦截器 过滤器 监听器都有什么区别

过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts2的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者struts2的action前统一设置字符集,或者去除掉一些非法字符 拦截器,是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现

拦截器、过滤器、监听器的区别和使用

拦截器与过滤器的区别 :     1. 拦截器是基于java的反射机制的.而过滤器是基于函数回调,Spring框架支持,可Spring中的数据源.事务管理等.    2. 使用范围不同:拦截器不依赖与servlet容器,过滤器依赖与servlet容器.     3. 拦截器只能对action请求起作用,针对类,拦截器可以多次被调用. 而过滤器则可以对几乎所有的请求起作用,在容器启动是初始化调用init方法,以后每个请求都调用doFilter().作用范围包含拦截器.    4. 拦截器可以访问a