zoukankan      html  css  js  c++  java
  • Spring Boot的filter简单使用

    过滤器(Filter)的注册方法和 Servlet 一样,有两种方式:代码注册或者注解注册

    1.代码注册方式

    通过代码方式注入过滤器

        @Bean
        public FilterRegistrationBean indexFilterRegistration() {
            FilterRegistrationBean registration = new FilterRegistrationBean(new IndexFilter());
            registration.addUrlPatterns("/");
            return registration;
        }

    IndexFilter.Java类:

    package com.example.filter;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;

    public class IndexFilter implements Filter{

        @Override
        public void destroy() {
            System.out.println("filter destroy method");
            
        }

        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
                throws IOException, ServletException {
            System.out.println("filter doFilter method");
            
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("filter init method");
            
        }

    }


    2.注解方式

    通过注解方式注入过滤器

    IndexFilter2.java类

    package com.example.filter;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;

    @WebFilter(urlPatterns = "/*", filterName = "indexFilter2")
    public class IndexFilter2 implements Filter{

        @Override
        public void destroy() {
            System.out.println("filter2 destroy method");
            
        }

        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
                throws IOException, ServletException {
            System.out.println("filter2 doFilter method");
            
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("filter2 init method");
            
        }

    }

    把注解加到入口处启动即可

    @SpringBootApplication
    @ServletComponentScan
    public class SpringBootSimpleApplication {
     
        public static void main(String[] args) {
            SpringApplication.run(SpringBootSimpleApplication.class, args);
        }
    }

  • 相关阅读:
    2019 icpc西安邀请赛 点分治
    2019ccpc 秦皇岛
    hdu 5354 树上点分治
    cf 632E FFT+快速幂
    hdu 4812 树分治+逆元+手写hashmap
    2019 上海网络赛G 手写哈希map+字符串hash
    2019 上海icpc网络赛 C FFT优化卷积+小范围暴力
    hdu 6198 杜教BM
    洛谷P3804 后缀自动机
    集合总结
  • 原文地址:https://www.cnblogs.com/web424/p/6755957.html
Copyright © 2011-2022 走看看