zoukankan      html  css  js  c++  java
  • 【SpringBoot】04.SpringBoot整合Filter的两种方式

    SpringBoot整合Filter过滤器的两种方式:

    1.通过扫描注解完成Filter组件注册

    1. 创建一个类,实现Filter接口,实现doFilter()方法

    2. 在该类使用注解@WebFilter,设置filterNameurlPatterns

    3. 在doFilter中编写代码

    4. 编写启动类:增加注解@ServletComponentScan

       /**
        * SpringBoot整合Filter 方式一
        */
       //@WebFilter(filterName="FirstFilter" , urlPatterns= {"*.do","*.jsp"})
       @WebFilter(filterName="FirstFilter" , urlPatterns= "/first")
       public class FirstFilter implements Filter {
       
       	@Override
       	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
       			throws IOException, ServletException {
       		System.out.println("进入Filter");
       		chain.doFilter(request, response);
       		System.out.println("离开Filter");
       	}
       }
    
    @SpringBootApplication
    @ServletComponentScan
    public class App {
    	public static void main(String[] args) {
    		SpringApplication.run(App.class, args);
    	}
    }
    

    urlPatterns 是数组类型的,可以拦截多个 例如:urlPatterns= {".do",".jsp"}

    2.通过方法完成Filter组件注册

    1. 创建一个类,实现Filter接口,实现doFilter()方法
    2. 编写启动类
      • 添加一个方法,返回值必须是FilterRegistrationBean的对象,他能够创建Filter对象的实例对象
      • 创建FilterRegistrationBean对象,传入实例化的Filter对象
      • 添加Url,bean.addUrlPatterns();
      • 返回FilterRegistrationBean对象
      • 在此方法上增加@Bean的注解
    	/**
    	 * 注册Filter
    	 */
    	@Bean
    	public FilterRegistrationBean getFilterRegistrationBean() {
    		FilterRegistrationBean bean  = new FilterRegistrationBean(new SecondFilter());
    		//bean.addUrlPatterns(new String[] {"*.do","*.jsp"});
    		bean.addUrlPatterns("/second");
    		return bean;
    	}
    
  • 相关阅读:
    appium 学习教程
    初识Airtest
    C语言的数据类型
    C#黑白棋制作~
    C#黑白棋制作
    C#编写自动关机程序复习的知识
    C语言的预处理命令
    构建智能DNS域名解析服务器
    NFS共享服务
    安装ftp 并在ftp上构建yum仓库 (内网构建,比如主机上不了网)
  • 原文地址:https://www.cnblogs.com/isdxh/p/13528110.html
Copyright © 2011-2022 走看看