概述
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 中方法介绍:
测试
启动 spirngboot 项目并通过游览器访问我们的项目下的 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
unity的错误解决办法:NullReferenceException: Object reference not set to an instance of an object;tiny proje
Hadoop 之 HDFS (HDFS 数据流的 读写 流程)
听说你一读Spring源码就懵逼?我帮你把架子搭好了,你填就行!
首席架构师推荐:金融保险领域数字化转型实践--如何优雅地修改业务中台中分层应用Maven多模块的版本号?(命令导入式)
[JVM学习之路]一、初识JVM,了解其结构、模型及生命周期
网友评论