zoukankan      html  css  js  c++  java
  • SpringBoot 使用 Filter 过滤器

     Filter 过滤器 是Java EE 提供的只能处理  ServletRequest 和 ServletResponse 里的相关信息,不能处理与Spring相关的信息

    package com.example.interceptor;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Component;
    
    import javax.servlet.*;
    import java.io.IOException;
    
    @Component
    public class DemoFilter implements Filter {
        private static final Logger logger = LoggerFactory.getLogger(DemoFilter.class);
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            logger.info("=========DemoFilter=======init==============");
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            logger.info("=========DemoFilter=======doFilter==start============");
    
            filterChain.doFilter(servletRequest,servletResponse);//执行过滤
    
            logger.info("=========DemoFilter=======doFilter==end============");
        }
    
        @Override
        public void destroy() {
            logger.info("=========DemoFilter=======destroy==============");
        }
    }
    package com.example.config;
    
    import com.example.interceptor.DemoFilter;
    import org.springframework.boot.web.servlet.FilterRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Configuration//说明这是一个配置类
    public class WebConfig {
    
        @Bean  //Bean注入,相当于原本在web.xml中写配置注入类
        public FilterRegistrationBean demoFilter(){
            FilterRegistrationBean registrationBean = new FilterRegistrationBean();
    
            //在DemoFilter类上不用@Compent注入则可以用如下方法注入
            DemoFilter demoFilter = new DemoFilter();
            registrationBean.setFilter(demoFilter);
            List<String> urls = new ArrayList<>();
            urls.add("/*");//对所有url起作用
            registrationBean.setUrlPatterns(urls);
    
            return  registrationBean;
        }
    }
  • 相关阅读:
    使用Apache Commons-email邮件客户端发邮件
    Jfinal开发代码碎片_导出报表_配置druid数据源_使用guava_获取当前操作系统_JDK版本_jfinal-utils_jfinal验证码
    Memcached缓存集群_创建多实例
    HttpClient取得自定义的状态码302,并获取Header中的参数Location
    对象序列化和反序列化
    【校园电子书城】测试及部署
    mysql导入txt文件
    【校园电子书城】部分代码及数据库设计
    【校园电子书城】需求分析
    Domain logic approaches
  • 原文地址:https://www.cnblogs.com/mingforyou/p/14617839.html
Copyright © 2011-2022 走看看