在 spring boot 配置Filter过滤器 中简单介绍了spring boot 中如何添加过滤器,有人问到如果配置多个怎么控制,先经过哪个过滤器,后经过哪个过滤器。在web.xml中,我们知道,执行顺序是谁在前边执行谁。

在spring boot中的FilterRegistrationBean注册过滤器的类中有个order属性,

private int order = Ordered.LOWEST_PRECEDENCE;

细看源码可以知道,这个order的默认值是Integer.MAX_VALUE 也就是int的最大值,

spring boot 会按照order值的大小,从小到大的顺序来依次过滤。

spring boot 配置Filter过滤器 中可以这样修改

/*** 配置过滤器* @return*/@Beanpublic FilterRegistrationBean someFilterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(sessionFilter());registration.addUrlPatterns("/*");registration.addInitParameter("paramName", "paramValue");registration.setName("sessionFilter");registration.setOrder(Integer.MAX_VALUE);return registration;}

再有一个过滤器的话,可以设置成 registration.setOrder(Integer.MAX_VALUE - 1)

/*** 配置过滤器* @return*/@Bean@Order(Integer.MAX_VALUE)public FilterRegistrationBean someFilterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(sessionFilter());registration.addUrlPatterns("/*");registration.addInitParameter("paramName", "paramValue");registration.setName("sessionFilter");return registration;}

registration.setOrder相关推荐

  1. java servlet filter_Java的Servlet、Filter、Interceptor、Listener

    写在前面: 使用Spring-Boot时,嵌入式Servlet容器可以通过扫描注解(@ServletComponentScan)的方式注册Servlet.Filter和Servlet规范的所有监听器( ...

  2. spring 两次进入拦截器_4.SpringBoot 拦截器Fliter,Interceptor,Controller……

    在项目的开发中,在某些情况下,我们需要对客户端发出的请求进行拦截,常用的API拦截方式有Fliter,Interceptor,ControllerAdvice以及Aspect. 上面的图是Spring ...

  3. Spring Boot 实现通用 Auth 认证的 4 种方式

    欢迎关注方志朋的博客,回复"666"获面试宝典 文章介绍了spring-boot中实现通用auth的四种方式,包括 传统AOP.拦截器.参数解析器和过滤器,并提供了对应的实例代码, ...

  4. springBoot之过滤器和拦截器的使用

    在springBoot中,过滤器和拦截器的使用. 过滤器 概述 过滤器是什么? 简单的来说,过滤器就是过滤的作用,在web开发中过滤一些我们指定的url. 过滤器主要做什么? 过滤掉一些不需要的东西, ...

  5. 简直骚操作,ThreadLocal还能当缓存用

    背景说明 有朋友问我一个关于接口优化的问题,他的优化点很清晰,由于接口中调用了内部很多的 service 去组成了一个完成的业务功能.每个 service 中的逻辑都是独立的,这样就导致了很多查询是重 ...

  6. api怎么写_API数据加密框架monkeyapiencrypt

    之前有写过一篇加密的文章<前后端API交互如何保证数据安全性>. 主要是在Spring Boot中如何对接口的数据进行自动加解密操作,通过注解的方式来指定是否需要加解密. 原理也很简单,通 ...

  7. SpringBoot 拦截器和过滤器

    拦截器和过滤器 时光飞逝,最近也是很忙,但是忙到最后发现在自己并没有太多的成长 工作 学习 生活 没想到成长是不经意间的,像是被 推着,让你身不由己 午休时间,写写博客,也是保留一些自己的时间和空间 ...

  8. Spring Boot实战:拦截器与过滤器

    一.拦截器与过滤器 在讲Spring boot之前,我们先了解一下过滤器和拦截器.这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的.在分析两者的区别之前,我们先理解一下AOP的概念,A ...

  9. 今天大佬告诉你Spring Boot 实现通用 Auth 认证的 4 种方式!

    最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大,代码方面不明显,但感觉自己抹掉了 java.Tomcat.Sp ...

最新文章

  1. SAP PP 为工单确认时自动做收货的设置
  2. MacOS 好用的插件和图形界面程序
  3. [Leetcode][第785题][JAVA][判断二分图][BFS][DFS]
  4. java 冒泡算法_关于java中的冒泡算法
  5. 嵌入式DM(data matrix)码检测
  6. 【转载】COMSOL Multiphysics 5.3a 安装教程
  7. Steve Jobs Said
  8. 重新启动计算机的方法有,如何取消电脑自动更新后的重新启动计算机提示
  9. 顶部标题栏的布局设计
  10. 机器学习-推荐系统-利用用户标签数据
  11. 会员自动续费服务协议
  12. 【期权系列】顶部和底部信号:期权看跌看涨比(PCR)
  13. hive一个字段包含另一个字段
  14. SSM8==纯注解SSM项目:实现单表CRUD、事务、自定义异常和统一异常处理、RESTFUL风格接口、统一返回值格式(状态码、内容、消息)、JSON传参、axios、vue.js、elementUI
  15. 以太坊Go-ethereum源码分析之启动流程
  16. jQuery操作元素和DOM
  17. (毕业设计资料)基于51单片机红外无线遥控智能家电控制系统设计
  18. 硬核!为迎开学,这所大学建造超4600平米隔离区
  19. 关于DBCO-PEG-NH2的反应原理介绍,淡黄色到白色固体,或者半固体,取决于分子量
  20. 小米采用意法半导体低功耗电磁罗盘模块LSM303D

热门文章

  1. 3D软件视频制作:unity timeline cinemachine, blender 视频制作编辑器
  2. linux平台的字典,Linux系统中安装CLI的字典sdcv
  3. 重复制造 成本收集器 月结 Period-end closing Product cost collector
  4. scal数组: 化整为多,取出单个元素
  5. 43000张图片和5项原则:用数据科学方法评选十大最火表情包
  6. Springboot, link failure、SSL peer shut down incorrectly、Unsupported record version Unknown-0.0问题
  7. 三星4k3d电视测试软件,说出来你可能不信:3D、4K、曲面电视慎重购买
  8. android apn xml,android 批改默认APN
  9. 雷达人体感应器成品,智能感知联动技术,助力照明智能化应用
  10. C语言和C++中locale设置