spring---自定义Filter有两种方式
文章目录
- 前言
- 一、基于注解
- 二、注册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有两种方式相关推荐
- Spring Boot自定义 Servlet Filter 的两种方式
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 针 ...
- EntityFramework Core 2.0自定义标量函数两种方式
前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...
- iOS 自定义layer的两种方式
在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...
- spring配置属性的两种方式
spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...
- spring 注入bean的两种方式
我们都知道,使用spring框架时,不用再使用new来实例化对象了,直接可以通过spring容器来注入即可. 而注入bean有两种方式: 一种是通过XML来配置的,分别有属性注入.构造函数注入和工厂方 ...
- Spring系列教程八: Spring实现事务的两种方式
2019独角兽企业重金招聘Python工程师标准>>> 一. Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的 ...
- Unity中制作自定义字体的两种方式
Unity支持自定义图片字体(CustomFont),网上有很多教程,细节不尽相同,当概括起来基本就是两种方式.一是使用BMFont,导出图集和.fnt文件,再使用图集在Unity中设置得到字体.二是 ...
- Spring定义Bean的两种方式:<bean>和@Bean
前言: Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用. 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean. 今天通过S ...
- springboot过滤字段_SpringBoot自定义过滤器的两种方式及过滤器执行顺序
第一种 @WebFilter + @ServletComponentScan 注解 1.首先自定义过滤器 如下自定义过滤器 ReqResFilter必须实现 javax.servlet.Filter ...
最新文章
- 周报_2012第51周(2012/12/16-2012/12/22)
- 化生政组合能选计算机专业吗,化生政这个组合好不好? 适合哪些人报考
- sqlplus 登录数据库
- Javascript的调试利器:Firebug使用详解
- 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
- python三大圣经-读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」...
- 团队管理心得--建团队,管事理人
- InnoDB存储引擎关键特性
- 单片机——电子密码锁设计报告
- hp m281_惠普m281fdw驱动下载-hpm281fdw打印机驱动v44.3 官方版 - 极光下载站
- 《需求工程--软件建模与分析》笔记
- java.sql.SQLException: Access denied for user 'pc'@'localhost' (using passw
- mysql5.7.17.zip教程,Mysql学习win10下mysql 5.7.17 zip压缩包版安装教程
- 各大搜索引擎收录地址
- VUE动态切换Button的icon
- 鹤岗市全国计算机等级考试,2020年3月黑龙江省鹤岗市计算机等级考试考务通知...
- 深秋---Java Map
- 企业经营模拟——采购经理职责
- EC11旋转编码器、stm32f103驱动程序
- 新思路计算机二级考试题库软件,新思路等考通二级Visual Basic
热门文章
- 舞动你的文字,巧用CSS中marquee属性
- java操作es之各种高级查询
- 计算机应用与jaj,基于J2EE银鸽集团ERP系统的设计与应用-计算机应用技术专业论文.docx...
- 【安全与协议】使用crypto.js进行加密详解
- 该死的Print Splooer
- vue将json格式的字符串格式化后输出到web界面上
- 中国名人名言网今天在天csdn开通了
- JZOJ 5445 失格
- Vue官网所说的低侵入式含义
- Graph Signal Processing——Part I: Graphs, Graph Spectra, and Spectral Clustering (文献翻译)