公司网站如何租用服务器,网站内容怎么编辑,网站分站怎么做,应税服务网站开发开票1、需求场景 之前也有在文章写道 “拦截器\过滤器 的区别#xff0c;文章链接#xff0c;在实际开发过程中#xff0c;我们可能会遇到拦截请求参数的需求#xff0c;在这我举个场景。某一个接口的请求参数都是加密的#xff0c;而请求参中还有一些跟业务无关的数据 的区别文章链接在实际开发过程中我们可能会遇到拦截请求参数的需求在这我举个场景。 某一个接口的请求参数都是加密的而请求参中还有一些跟业务无关的数据需要剔除。 2、问题产生 那么怎么能够实现只要和业务有关的数据呢 首先我们想到的是通过拦截器对加密的数据进行解密然后把解密后的数据重新放到 request 中request.setAttribute(数据名, 数据); 其实呢还可以通过 Aspect 注解在方法里通过 beforearound 和 after 注解的方式来拦截数据配置起来比拦截器简单。 疑惑就在这产生了通过 Aspect 注解的方式写的跟拦截器有什么区别呢他到底是不是拦截器呢 3、问题总结 3.1、三者不同 Aspect 注解形式是 AOP 的一种实现。AOP 使用的主要是动态代理 。 过滤器使用的主要是反射 。 拦截器使用的主要是回调 。 3.2、示例分析 前台一个请求过来 会先进行过滤器处理看程序是否受理该请求 。 过滤器放过后 程序中的拦截器进行处理 处理完后进入 被 AOP 动态代理重新编译过的主要业务类进行处理 。 通过示例去理解三者的不同 所以三者不存在所属关系。 博客地址https://www.cnblogs.com/niceyoo