网站首页 > java教程 正文
从设计和功能的角度来看,过滤器(Filter)就是从一群数据中,根据你定义的规则,筛选出来符合你要求的数据;拦截器(Interceptor)就是在执行一个事件时候,干预这次操作,像在执行前或者之后进行某些其他的操作;监听器(Listener)就是在执行事件时候,悄悄的关注整个事件的执行过程,不影响这个事件的流程走向。
图解:过滤器从所有的图形中筛选出五角星
拦截器:得到所有的五角星并且都变成红色
监听器:关注整个过程的一举一动,但是不干预
功能了解了之后,那这3个到底有啥作用呢?
过滤器(Filter):过滤器基于函数回调,可以对所有的请求进行过滤,一般使用在认证、登录、审核、敏感词和低俗文字的过滤。只初始化一次,但是以后就可以每次进行拦截。
拦截器(Interceptor):拦截器基于java反射机制,属于切面编程(AOP)的一种应用,只能对controller请求进行拦截,可以在方法执行前或者执行后进行操作。在生命周期内能多次调用。
监听器(Listener):监听器是属于系统级别的监听。监听器随Web应用启动而启动,只初始化一次,随Web应用停止而销毁,主要是做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。
三者的执行顺序:从图解图上也基本可以看出三者的触发顺序是监听器->过滤器->拦截器
小结:从灵活性上来说,过滤器能做的事情拦截器基本都能做,而拦截器做的事情过滤器不一定做的了,拦截器对访问控制的粒度更细。
猜你喜欢
- 2024-11-04 【快学springboot】12.实现拦截器
- 2024-11-04 Spring Boot 中的拦截器和过滤器到底有什么区别?
- 2024-11-04 SpringBoot中的过滤器和拦截器有什么区别?
- 2024-11-04 为什么你写的拦截器注入不了Java bean?
- 2024-11-04 使用Spring Cloud Zuul实现过滤器或拦截器功能案例
- 2024-11-04 java服务-springboot拦截器实现用户登录Token及权限校验
- 2024-11-04 JAVAEE就业工程师教程之第4章 Struts2拦截器
- 2024-11-04 Spring框架功能分为哪些模块?(spring框架有哪几部分组成)
- 2024-11-04 高级码农Spring Boot实战进阶之过滤器、拦截器的使用
- 2024-11-04 轻量级 Java 权限认证框架Sa-Token初体验(五)
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)