首页 > 其他分享 >过滤器和拦截器执行流程

过滤器和拦截器执行流程

时间:2022-08-26 10:58:45浏览次数:74  
标签:拦截器 流程 ############ doFilter executed 过滤器 TestFilter1

  权限认证有三块(1)过滤器 (2)拦截器 (3)单独写代码逻辑处理,函数调用等。

只有过滤器运行逻辑:,
过滤器中的内容->doFilter->doFilter后面的逻辑

过滤器中的内容
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
doFilter
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############
过滤器中的内容
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
doFilter
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############

-------------------------------------------------------------------------------------------------------------------------------


有过滤器,又有拦截器,执行逻辑如下:
过滤器中的内容->拦截器preHandle-执行控制器的内容逻辑->拦截器postHandle->拦截器afterCompletion->过滤器doFilter->doFilter->doFilter后面的逻辑->
过滤器:
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
拦截器preHandle:
************TestInterceptor preHandle executed**********
过了拦截器preHandle后,执行controller层逻辑:
---------TestController executed--------
拦截器postHandle:
************TestInterceptor postHandle executed**********
拦截器afterCompletion:
************TestInterceptor afterCompletion executed**********
过滤器doFilter 验证后的逻辑:
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############
过滤器:
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
过了拦截器preHandle后,执行controller层逻辑:
************TestInterceptor preHandle executed**********
过了拦截器preHandle后,执行controller层逻辑:
---------TestController executed--------
拦截器postHandle:
************TestInterceptor postHandle executed**********
拦截器afterCompletion:
************TestInterceptor afterCompletion executed**********
过滤器doFilter 验证后的逻辑:
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############

  

结论:
过滤器在拦截器之前,过滤器是全局的。过滤器的规则完全依赖于url-pattern,如果路由规则不符合url-pattern,不走相关过滤器。如果想让过滤器失效,需要想办法绕过url-pattern规则,比如说url-pattern的配置不当可以被绕过。

标签:拦截器,流程,############,doFilter,executed,过滤器,TestFilter1
From: https://www.cnblogs.com/piaomiaohongchen/p/16626818.html

相关文章

  • java流程结构
    顺序结构按顺序往下运行if单选择结构if(布尔表达式){//如果布尔表达式的值为true}if双选择结构if(布尔表达式){//如果布尔表达式的值为true}else{/......
  • 正确的策略迭代流程是什么?
    当前已经有了一版线上用户正在使用的方案,然后算法对某些策略做了模型迭代或者规则优化(反映在cxr或者更好的用户体验)产生了一版新的方案,新方案的上线流程是怎样的?方式一:新......
  • 04 敏捷测试流程解析
    上文说完了敏捷测试思维,本文我们来介绍下流程,那为什么要先介绍流程呢?因为流程也可以理解为实施框架,容易让人看到研究对象完整的概貌并了解实施的全过程,知道从哪里开始、如......
  • JS数据类型、流程控制、函数与BOM与DOM操作
    JS数据类型JS数据类型之布尔值1.布尔值(Boolean)在js中布尔值用用true和false来表示(都是小写)2.(空字符串)、0、null、undefined、NaN都是false2.1null表示这个变量......
  • JS数据类型、流程控制、函数、内置对象、BOM和DOM
    目录一、JS数据类型之布尔值二、JS数据类型之对象(object)1.对象之数组(相当于python中的列表)2.方法2.1.forEach2.2.map三、JS数据类型之自定义对象(object)1.自定义对象(相当......
  • 栈溢出漏洞利用流程——以syncbrs为例
    0x1 缓冲区溢出漏洞攻击简介缓冲区溢出攻击是针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序的堆栈,使程序转......
  • 性能测试学习笔记——工具的使用,性能测试流程
    性能测试学习笔记一、为什么要做性能测试:因为功能和接口测试只能验证软件的功能是否正常运行,功能和接口测试不能验证软件的性能在多用户,多并发,长时间的操作下,能否正常运......
  • 肖sir___面试流程和面试题(1)
    1、面试主要分为那些环节? 自我介绍 1、个人基本信息 2、学历信息 3、工作履历 4、项目方向介绍 5、技能方向 自我介绍要控制在一分钟到两分钟之间 项目介绍 测试流程......
  • axios请求响应拦截器的应用
    什么是axios拦截器?一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器、响应拦截器。请求拦截器在请求发送前进行必要操作处理例如添加统一cookie、请求体加......
  • 大数据应用开发流程
    通常将大数据应用开发分为五个步骤:获取、存储、处理、访问以及编制,获取是指获取一些辅助数据,例如来自CRM、生产数据(ODS)的数据,并将其加载入分布式系统(如Hadoop)为下一环节处......