Filter过滤器 和 java回调机制的一点理解

过滤器

Filter 是AOP(面向切面)思想的一种实现 .
OOP(面向对象) 的编程实现 利用 继承 封装 多态 把一切的事务打造成对象结构. 很好的帮我们梳理了 从上到下 的关系 然后 所有的事务都有共同的行为 如果强行将这个些行为封装到一个类中 让所有的对象都继承这个类. 好比将一切不相干的东西 拧在一起 未免有些生硬.
AOP 思想则是对 OOP的一个补充 很好的帮我们梳理了 从左到右的关系 比如 日志功能,登陆校验 等等…

Java常见的AOP实现有两种 Filter 和 动态代理 (也可以称之为 过滤器 和 拦截器 )
Filter 是基于回调机制实现的.

这里不得不说的 什么是java回调机制
现实场景: 领导 通知 员工 做 A 事情. 当员工完成A事情则需要通知 领导完成的结果.

首先定义了一个 收到信号后的接口
在这里插入图片描述

领导既然要接受干完事情的结果 那么就必须 实现CallBackInterface接口

在这里插入图片描述
而员工做事必须知道是哪个领导分配的任务. 只要领导实现了 CallBackInterface接口 那么就一定可以通过 over方法 来通知领导

在这里插入图片描述
这就是 java回调机制 那么到这里 我们说Filter是基于java回调机制的

我们可以吧 FilterChain 看成是 领导 request 和 response 看成是我们需要处理的文件

在这里插入图片描述
我们再 doFilter中 对 request 和 response 进行处理
然后通过 filterChain的doFilter 来通知领导 并且将处理的文件(request ,response )交换给老板.

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值