怎么在SpringBoot2中整合Filter

这篇文章主要介绍“怎么在SpringBoot2中整合Filter”,在日常操作中,相信很多人在怎么在SpringBoot2中整合Filter问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在SpringBoot2中整合Filter”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联主营湘东网站建设的网络公司,主营网站建设方案,app软件开发公司,湘东h5成都小程序开发搭建,湘东网站营销推广欢迎湘东等地区企业咨询

首先定义一个统一访问 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 urlList = new ArrayList();
    urlList.add("/*");
    registration.setUrlPatterns(urlList);
    registration.setName("UrlFilter");
    registration.setOrder(1);
    return registration;
  }
}

FilterRegistrationBean 中方法介绍:

  • registration.setFilter(Filter filter):设置我们自定义Filter对象。

  • registration.setUrlPatterns(Collection urlPatterns):设置自定义Filter需要拦截的URL的集合。

  • registration.setName(String name): 设置自定义Filter名称。

  • registration.setOrder(int order):设置自定义Filter拦截顺序。

测试

启动 SpirngBoot 项目并通过游览器访问我们的项目下的 index.html。

怎么在SpringBoot2中整合Filter

怎么在SpringBoot2中整合Filter

到此,关于“怎么在SpringBoot2中整合Filter”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文题目:怎么在SpringBoot2中整合Filter
链接地址:http://myzitong.com/article/gseghd.html