过滤器(filter)、拦截器(interceptor)、监听(listener)

本文对比了Filter与Interceptor这两种中间件的不同之处,包括它们的工作原理、适用范围及调用时机等。Filter依赖于servlet,作用范围更广,能拦截几乎所有类型的HTTP请求;而Interceptor则依赖于Java反射机制,主要用于拦截Action请求,且可以访问到Action上下文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1.  Filter的实现依赖于servlet,interceptor依赖于java反射机制;
  2.  Filter可以对几乎所有请求起作用
  3.  filter的过滤范围比interceptor大;可以对几乎所有请求起作用除了过滤请求外可以通过通配符保护页面、图片、文件等而interceptor只能过滤请求,只对action请求起作用,在action开始之前开始,在action结束后结束

  4.  interceptor可以访问action上下文、值栈里的对象,而filter不能;
  5. Interceptor只能在初始化时被调用一次,而filter可以多次被调用;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

<a href="${domainHotel}/?site=hotel&clear=true" class="ld-gobuy">

请求有多种多样,看上图列举的请求,有“form标签里action属性的请求”,有ajax请求,有href请求... ...形式挺多样;

而“form标签里action属性的请求”叫action请求,而interceptor只能对Action请求起作用;Filter却可以对几乎所有请求起作用;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值