zoukankan      html  css  js  c++  java
  • 玩转 SpringBoot 2 快速整合 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 urlPatterns):设置自定义Filter需要拦截的URL的集合。

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

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

    测试

    启动 SpirngBoot 项目并通过游览器访问我们的项目下的 index.html。
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    第四章:运算符与表达式——参考手册笔记
    第三章:类型与对象——参考手册笔记
    Python书单
    第二章:词法约定——参考手册笔记
    第5章:分治法——《算法笔记
    第4章:减治法——《算法笔记
    第3章:蛮力法——《算法笔记
    第2章:算法效率分析——《算法笔记
    算法书单
    第1章:绪论:基本数据结构——《算法设计与分析基础》笔记
  • 原文地址:https://www.cnblogs.com/jerry126/p/11460247.html
Copyright © 2011-2022 走看看