文章目录

  • 前言
  • 一、基于注解
  • 二、注册bean

前言

在我们开发中经常需要对请求做一些自定义的过滤处理,如最常见的jwt每次请求进来我们都需要去解析判断token这个时候肯定就需要自定义一个filter去处理。spring为我们提供了两种自定义filter方式,一种是基于注解@WebFilter,一种是手动注册bean的方式。

一、基于注解

基于注解的方式相对步骤简单些,但是由于它的一些局限性生产中基本见不到其身影。大致只需要三步骤:

1、实现Filter接口(javax.servlet)
2、添加@WebFilter注解
3、启动类添加@ServletComponentScan注解

注意:

  • 1、不加@ServletComponentScan注解无法注入Filter,这个注解的作用就是去扫描@WebServlet、@WebFilter、@WebListener这类特殊注解。如果不加,spring容器是不会主动扫描的

  • 2、多个Filter的执行顺序,说出来你可能不信,这种注解方式实现的Filter是通过Filter的类名首字母来控制执行顺序的,像Filter1_Filter就比Filter2_Filter先执行。但网上一些资料说,当Filter数量很多时,是没有明确的执行顺序的,所以这种方式还是放弃吧,推荐第二种

二、注册bean

    @Beanpublic FilterRegistrationBean<AuthenticationTokenFilter> registration(AuthenticationTokenFilter filter) {FilterRegistrationBean<AuthenticationTokenFilter> authenticationTokenFilter = new FilterRegistrationBean<>(filter);// 设置拦截哪些 URL
//        filter.addUrlPatterns("/*");//order的数值越小,在所有的filter中优先级越高authenticationTokenFilter.setOrder(0);authenticationTokenFilter.setEnabled(true);return authenticationTokenFilter;}

spring---自定义Filter有两种方式相关推荐

  1. Spring Boot自定义 Servlet Filter 的两种方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 针 ...

  2. EntityFramework Core 2.0自定义标量函数两种方式

    前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...

  3. iOS 自定义layer的两种方式

    在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...

  4. spring配置属性的两种方式

    spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...

  5. spring 注入bean的两种方式

    我们都知道,使用spring框架时,不用再使用new来实例化对象了,直接可以通过spring容器来注入即可. 而注入bean有两种方式: 一种是通过XML来配置的,分别有属性注入.构造函数注入和工厂方 ...

  6. Spring系列教程八: Spring实现事务的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 一. Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的 ...

  7. Unity中制作自定义字体的两种方式

    Unity支持自定义图片字体(CustomFont),网上有很多教程,细节不尽相同,当概括起来基本就是两种方式.一是使用BMFont,导出图集和.fnt文件,再使用图集在Unity中设置得到字体.二是 ...

  8. Spring定义Bean的两种方式:<bean>和@Bean

    前言: Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用. 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean. 今天通过S ...

  9. springboot过滤字段_SpringBoot自定义过滤器的两种方式及过滤器执行顺序

    第一种 @WebFilter + @ServletComponentScan 注解 1.首先自定义过滤器 如下自定义过滤器 ReqResFilter必须实现  javax.servlet.Filter ...

最新文章

  1. 【js笔记】数组那些事[0]
  2. C/C++注册表【2】打开,创建,删除
  3. 史上最全java架构师技能图谱(下)
  4. js获取字符串出现次数最多_js如何获取字符串中出现次数最多的字符
  5. DB2常用错误代码大全
  6. Chrome 打包扩展程序
  7. 使用C#调用Java带MIME附件WebService方法的初步设想
  8. leetcode- 225 Implement Stack using Queues
  9. 在希望的田野上--生物柴油(Biodiesel)光明的未来
  10. 时空解析理论的实验检验方法
  11. Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores 论文阅读
  12. 根据车牌获取信息 pom 文件
  13. OpenCV 创建图像时,CV_8UC1,CV_32FC3,CV_32S等参数的含义
  14. 编程软件推荐--wizard
  15. 首席新媒体黎想教程:短视频四种用户心理,帮助你短视频内容创作
  16. 用Carbide.c++开发Symbian入门 1
  17. 如何把ppt文档翻译成英文?教你几种ppt翻译方法
  18. 协会的会员单位宝付,受邀参加支付清算法务培训班
  19. 融合莱维飞行与黄金正弦的蚁狮优化算法-附代码
  20. WEB前端网页设计-Bootstrap 网格系统

热门文章

  1. 十天学会单片机Day5 IIC总线AT2402芯片(EEPROM)应用
  2. 给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排
  3. Floyd最小环算法
  4. PPT个人学习笔记(四)——神奇移动的实现
  5. 关于a21A11+a22A12+a23A13=0的证明
  6. 玩游戏写算法——汉诺塔
  7. Unity面试题(最新实用)
  8. Leetcode 998
  9. APA、MLA、芝加哥格式要求下的注释性参考文献目录(Annotated Bibliography)怎么写?
  10. PHP、AJAX、二阶段第五周