AOP与过滤器都有过滤的作用,他们的区别是什么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2022-10-16 10:42:57

同学你好,1、过滤器拦截的是URL。AOP拦截的是类的元数据(包、类、方法名、参数等)。

2、过滤器并没有定义业务用于执行逻辑前、后等,仅仅是请求到达就执行。

3、AOP针对具体的代码,能够实现更加复杂的业务逻辑。

祝学习愉快!

  • 请问AOP ,拦截器,过滤器,监听器 他们之间有什么区别与联系

    2022-10-28 17:05:32
  • 同学你好~

    一、过滤器与拦截器都是对请求进行拦截处理的,区别在于实现的接口不同。

    1.正是因为其实现的接口不同,实现的原理也有本质的区别。过滤器是基于函数回调的,拦截器则是基于Java的反射机制(动态代理)实现的。

    2.使用范围不同:过滤器实现的是javax.servlet.Filter接口,而这个接口是在Servlet规范中定义的,也就是说过滤器Filter的使用要依赖于Tomcat等容器,导致它只能在web程序中使用。而拦截器(Interceptor)是一个Spring组件,并由Spring容器管理,并不依赖Tomcat等容器,是可以单独使用的。不仅能应用在web程序中,也可以用于Application、Swing等程序中

    3.触发时机不同:过滤器是在请求进入容器后,但在进入servlet之前进行预处理,请求结束是在servlet处理完以后。拦截器是在请求进入servlet后,在进入Controller之前进行预处理的,Controller中渲染了对应的视图之后请求结束。

    二、过滤器、拦截器与AOP的联系:过滤器、拦截器的核心思想与AOP一致,但是在实现技术上没有本质联系。

    三、监听器:与上述两者并没有联系,并且功能也完全不同。

    祝学习愉快~

    2022-10-28 17:55:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师