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);
        }
    }

  • 相关阅读:
    Cookies 和 Session的区别
    List接口、Set接口和Map接口
    Java NIO:IO与NIO的区别
    NIO与传统IO的区别
    Java中堆内存和栈内存详解
    Java序列化与反序列化
    maven搭建
    深入研究java.lang.ThreadLocal类
    SQL 优化经验总结34条
    数据库事务的四大特性以及事务的隔离级别
  • 原文地址:https://www.cnblogs.com/web424/p/6755957.html
Copyright © 2011-2022 走看看