玩转 SpringBoot 2 快速整合 Filter
程序员文章站
2024-01-21 20:53:10
概述 SpringBoot 中没有 web.xml, 我们无法按照原来的方式在 web.xml 中配置 Filter 。但是我们可以通过 JavaConfig(@Configuration +@Bean)方式进行配置。通过FilterRegistrationBean 将自定义 Filter 添加到 ......
概述
springboot 中没有 web.xml, 我们无法按照原来的方式在 web.xml 中配置 filter 。但是我们可以通过 javaconfig(@configuration +@bean)方式进行配置。通过filterregistrationbean 将自定义 filter 添加到 springboot 的过滤链中。
实战操作
实战操作通过定义一个拦截所有访问项目的url的 filter来进行演示的。
首先定义一个统一访问 url 拦截的 filter。代码如下:
public class urlfilter implements filter { private logger log = loggerfactory.getlogger(urlfilter.class); @override public void dofilter(servletrequest request, servletresponse response, filterchain chain) throws ioexception, servletexception { httpservletrequest httpservletrequest = (httpservletrequest) request; string requesturi = httpservletrequest.getrequesturi(); stringbuffer requesturl = httpservletrequest.getrequesturl(); log.info("requesturi:" +requesturi+" "+"requesturl:"+requesturl); chain.dofilter(httpservletrequest, response); } }
通过 javaconfig方式配置 springboot 过滤链类 filterregistrationbean,具体代码如下:
@configuration public class filterconfig { @bean public filterregistrationbean filterregistration() { filterregistrationbean registration = new filterregistrationbean(); registration.setfilter(new urlfilter()); list<string> urllist = new arraylist<string>(); urllist.add("/*"); registration.seturlpatterns(urllist); registration.setname("urlfilter"); registration.setorder(1); return registration; } }
filterregistrationbean 中方法介绍:
registration.setfilter(filter filter):设置我们自定义filter对象。
registration.seturlpatterns(collection
registration.setname(string name): 设置自定义filter名称。 registration.setorder(int order):设置自定义filter拦截顺序。 启动 spirngboot 项目并通过游览器访问我们的项目下的 index.html。测试
推荐阅读
-
玩转 SpringBoot 2 快速整合 Filter
-
玩转 SpringBoot 2 快速搭建 | Spring Tool Suite篇
-
SpringBoot整合Ureport2报表及常见使用方法
-
玩转 SpringBoot 2 快速搭建 | RESTful Api 篇
-
SpringBoot整合log4j2日志的实现
-
SpringBoot快速整合MyBatisPlus(三)-Generator
-
SpringBoot整合mybatis进行快速开发
-
SpringBoot2.X 整合RedisTemplate 简单实现消息队列
-
SpringBoot2 整合 Swagger2
-
SpringBoot 2.x 整合Lombok的方法示例