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

  • 相关阅读:
    开场白
    八皇后(DFS)
    function-paren-newline (Rules) – Eslint 中文开发手册
    Java面试题:Error和Exception有什么区别?
    Linux mmove 命令
    字母间距 | letter-spacing (Scalable Vector Graphics) – CSS 中文开发手册
    object.watch (Object) – JavaScript 中文开发手册
    ASP.NET MVC HTML 帮助器
    C 库函数 – strerror()
    Java中的初始化模块
  • 原文地址:https://www.cnblogs.com/web424/p/6755957.html
Copyright © 2011-2022 走看看