文章目录

  • 前言
  • 一、基于注解
  • 二、注册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. 周报_2012第51周(2012/12/16-2012/12/22)
  2. 化生政组合能选计算机专业吗,化生政这个组合好不好? 适合哪些人报考
  3. sqlplus 登录数据库
  4. Javascript的调试利器:Firebug使用详解
  5. 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
  6. python三大圣经-读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」...
  7. 团队管理心得--建团队,管事理人
  8. InnoDB存储引擎关键特性
  9. 单片机——电子密码锁设计报告
  10. hp m281_惠普m281fdw驱动下载-hpm281fdw打印机驱动v44.3 官方版 - 极光下载站
  11. 《需求工程--软件建模与分析》笔记
  12. java.sql.SQLException: Access denied for user 'pc'@'localhost' (using passw
  13. mysql5.7.17.zip教程,Mysql学习win10下mysql 5.7.17 zip压缩包版安装教程
  14. 各大搜索引擎收录地址
  15. VUE动态切换Button的icon
  16. 鹤岗市全国计算机等级考试,2020年3月黑龙江省鹤岗市计算机等级考试考务通知...
  17. 深秋---Java Map
  18. 企业经营模拟——采购经理职责
  19. EC11旋转编码器、stm32f103驱动程序
  20. 新思路计算机二级考试题库软件,新思路等考通二级Visual Basic

热门文章

  1. 舞动你的文字,巧用CSS中marquee属性
  2. java操作es之各种高级查询
  3. 计算机应用与jaj,基于J2EE银鸽集团ERP系统的设计与应用-计算机应用技术专业论文.docx...
  4. 【安全与协议】使用crypto.js进行加密详解
  5. 该死的Print Splooer
  6. vue将json格式的字符串格式化后输出到web界面上
  7. 中国名人名言网今天在天csdn开通了
  8. JZOJ 5445 失格
  9. Vue官网所说的低侵入式含义
  10. Graph Signal Processing——Part I: Graphs, Graph Spectra, and Spectral Clustering (文献翻译)