1、需求场景

之前也有在文章写道 “拦截器\过滤器" 的区别,文章链接,在实际开发过程中,我们可能会遇到拦截请求参数的需求,在这我举个场景。
某一个接口的请求参数都是加密的,而请求参中还有一些跟业务无关的数据,需要剔除。

2、问题产生

 那么怎么能够实现只要和业务有关的数据呢?

首先,我们想到的是通过拦截器,对加密的数据进行解密,然后把解密后的数据重新放到 request 中,request.setAttribute("数据名", 数据);
其实呢,还可以通过 @Aspect 注解,在方法里通过 @before,@around 和 @after 注解的方式来拦截数据,配置起来比拦截器简单。
疑惑就在这产生了,通过  @Aspect  注解的方式写的跟拦截器有什么区别呢,他到底是不是拦截器呢?

3、问题总结

 3.1、三者不同

@Aspect 注解形式是 AOP 的一种实现。AOP 使用的主要是动态代理 。
过滤器使用的主要是反射 。
拦截器使用的主要是回调 。

 3.2、示例分析

前台一个请求过来 ,会先进行过滤器处理,看程序是否受理该请求 。 过滤器放过后 , 程序中的拦截器进行处理 ,处理完后进入 被 AOP 动态代理重新编译过的主要业务类进行处理 。
通过示例去理解三者的不同 ,所以三者不存在所属关系。
博客地址:https://www.cnblogs.com/niceyoo

拦截器、过滤器、@Aspect 区别相关推荐

  1. java过滤器原理,拦截器,过滤器,监听器 区别及执行顺序

    本文引用该作者(花开半夏)著作内容,觉得写的很好,记录一下便于回看防止失踪,更多详情请查看原作者. 同时还搜罗了其他便于理解的博文感兴趣的可以看看促进理解 拦截器,过滤器,监听器执行顺序(被拦截个人过 ...

  2. spring拦截器-过滤器的区别

    1.  理解 拦截器 :是在面向切面编程的时候,在你的 service 或者一个方法前调用一个方法,或者在方法后调用一个方法:比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业 ...

  3. SpringBoot中AOP实现落地——Filter(过滤器)、Intercepter(拦截器)、Aspect(Spring AOP)

    文章目录 一.一切要从Servlet说起 1.1什么是Servlet 1.2为什么需要Servlet 1.3Servlet如何响应用户请求 1.4Servlet与Tomcat处理请求的流程 1.5Se ...

  4. 过滤器(Filter)和拦截器(Interceptor)的区别

    来自:http://www.cnblogs.com/luoyun/archive/2013/01/04/2844274.html 过滤器(Filter)和拦截器(Interceptor)的区别 Fil ...

  5. 过滤器和拦截器有什么区别?

    过滤器(Filter)和拦截器(Interceptor)都是基于 AOP(Aspect Oriented Programming,面向切面编程)思想实现的,用来解决项目中某一类问题的两种"工 ...

  6. Filter(过滤器) 和 interceptor(拦截器)的区别

    Filter(过滤器) 和 interceptor(拦截器)的区别 1.拦截器是基于java反射机制的,而过滤器是基于函数回调的. 2.过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容 ...

  7. 一口气说出 过滤器 和 拦截器 6个区别,别再傻傻分不清了

    周末有个小伙伴加我微信,向我请教了一个问题:老哥,「过滤器 (Filter) 和 拦截器 (Interceptor) 有啥区别啊?」 听到题目我的第一感觉就是:「简单」! 毕竟这两种工具开发中用到的频 ...

  8. tomcat 拦截指定url_一口气说出 过滤器 和 拦截器 6个区别,别再傻傻分不清了

    点击" 程序员内点事 "关注,选择" 设置星标 " 坚持学习,好文每日送达! 周末有个小伙伴加我微信,向我请教了一个问题:老哥,「过滤器 (Filter) 和 ...

  9. 拦截器 过滤器 监听器 的区别

    面试的时候突然被问了这么个问题 本来知道点啥的 脑子一热 啥也没说出来总结一下 以下内容均摘自网络 但是 读完之后 应该会对它们有更清晰的认识.1.1 什么是拦截器: 拦截器,在AOP(Aspect- ...

  10. filter过滤器_web容器的过滤器Filter和拦截器Inteceptor的区别

    1 过滤器介绍 过滤器是JavaEE标准,采用函数回调的方式进行.是在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理. chain.doFilter ...

最新文章

  1. History(历史)命令用法
  2. 监控 WebBrowser 控件内容的改变
  3. table取tr对象 vue_javascript的DOM对象终极总结:你必看的js面向对象
  4. 2019牛客暑期多校训练营(第二场)
  5. row_number() OVER(PARTITION BY)函数
  6. linux系统如何拨号上网连接,教你在Linux下如何使用ADSL拨号上网
  7. 计算机 科学计算应用邻预,电子计算机的工作特性主要有什么
  8. 搭建NFS使多个服务器中的web项目共享图片资源
  9. 二叉树——淘汰赛(洛谷 P4715)
  10. 接口的屏蔽和限流很难么?Redis全搞定!
  11. Codeforces Round #466 (Div. 2): E. Cashback(单调队列+DP)
  12. 中国行政区边界shp下载(省,市,县)
  13. K3CLOUD业务系统编码规则设置
  14. ArcGIS创建拓扑
  15. Android应用程序添加、删除快捷方式
  16. 百度 bae php,利用百度BAE搭建免费CDN
  17. Oracle中如何用一个表的数据更新另一个表中的数据_转载
  18. python通过指定网卡发包_Python选择网卡发包及接收数据包
  19. mysql 8 commen table expression 树查询
  20. 关于python数字的一种下划线奇怪写法

热门文章

  1. 前端学习(2867):vue3数据劫持解析2
  2. [css] 你有使用:valid和:invalid来校验表单吗?
  3. 前端学习(2594):后台系统的权限控制和管理--界面的控制
  4. 前端学习(1499):组件特点
  5. 前端学习(1360) :学生档案信息管理2
  6. 第十三期:你所了解的javascript?
  7. eclipse没有server怎么办
  8. Vue之Vue.set动态新增对象属性
  9. std::packaged_task() ---C++17 并发编程
  10. 非类型模板参数(参考《C++ Templates 英文版第二版》)