SpringBoot 使用Filter(过滤器)

2019-10-16  本文已影响0人  索性流年

基本概念:

问题:

如何解决上面的问题:

过滤器执行流程:

开发步骤:

package com.example.demo;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
/*过滤器开发*/
@WebFilter(filterName = "TestFilter", urlPatterns = { "/*" })
public class TestFilter implements Filter {
    public TestFilter() {
        System.err.println("创建过滤器实例");
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.err.println("执行过滤器初始化方法");
    }

    @Override
    public void destroy() {
        System.err.println("销毁过滤器");
    }
//    在请求方法执行之前调用
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.err.println("执行过滤器业务处理方法");
        filterChain.doFilter(servletRequest,servletResponse);
        System.err.println("方法处理完成,回到过滤器");
    }
}

@SpringBootApplication
@ServletComponentScan //扫描过滤器
public class FilterImplementApplication {

    public static void main(String[] args) {
        SpringApplication.run(FilterImplementApplication.class, args);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读