过滤器、拦截器、切面

过滤器、拦截器、切面作用范围

执行顺序:过滤器=>拦截器=>切面

过滤器、拦截器属于请求层面的拦截;切面属于方法层面的拦截

原理不同

过滤器和拦截器底层实现方式大不相同,过滤器 是基于函数回调的,拦截器 则是基于Java的反射机制(动态代理)实现的。

范围不同

我们看到过滤器 实现的是 javax.servlet.Filter 接口,而这个接口是在Servlet规范中定义的,也就是说过滤器Filter 的使用要依赖于Tomcat等容器,导致它只能在web程序中使用。

而拦截器(Interceptor) 它是一个Spring组件,并由Spring容器管理,并不依赖Tomcat等容器,是可以单独使用的。不仅能应用在web程序中,也可以用于Application、Swing等程序中。

具体参考过滤器、拦截器、切面异同

相关推荐
7澄1几秒前
深入解析 LeetCode 数组经典问题:删除每行中的最大值与找出峰值
java·开发语言·算法·leetcode·intellij idea
ysyxg5 分钟前
设计模式-策略模式
java·开发语言
Felix_XXXXL16 分钟前
Spring Security安全框架原理与实战
java·后端
一抓掉一大把37 分钟前
秒杀-StackExchangeRedisHelper连接单例
java·开发语言·jvm
升鲜宝供应链及收银系统源代码服务37 分钟前
升鲜宝生鲜配送供应链管理系统--- 《多语言商品查询优化方案(Redis + 翻译表 + 模糊匹配)》
java·数据库·redis·bootstrap·供应链系统·生鲜配送·生鲜配送源代码
青山的青衫1 小时前
【JavaWeb】Tlias后台管理系统
java·web
蒟蒻的工具人1 小时前
SSE实时推送订单状态
java·eventsource·sse协议
小蒜学长1 小时前
springboot基于Java的校园导航微信小程序的设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序
王元_SmallA1 小时前
IDEA + Spring Boot 的三种热加载方案
java·后端
小苏兮1 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节