SpringBoot增加自定义过滤器Filter

SpringBoot增加自定义过滤器Filter


一、自定义过滤器

  1. 实现Filter接口。
  2. 通过@WebFilter注解,注册过滤器(“urlPatterns”:需要被过滤的请求路径,“filterName”:过滤器名称)。
import lombok.extern.slf4j.Slf4j;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**
 - @author Andon
 - @date 2019/11/28
 */
@Slf4j
@WebFilter(urlPatterns = "/*", filterName = "customFilter")
public class CustomFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        log.info("doFilter start!!");

        HttpServletRequest request = (HttpServletRequest) servletRequest;
        String sessionId = request.getSession().getId();
        System.out.println("sessionId:" + sessionId);

        log.info("doFilter end!!");
        filterChain.doFilter(servletRequest, servletResponse);
    }

    @Override
    public void destroy() {

    }
}

二、SpringBoot启动类

  • 添加@ServletComponentScan注解,项目启动自动扫描Servlet组件(Filter属于Servlet组件)。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan
@SpringBootApplication
public class CoinMarketTechnicalAnalysisIndicatorsAlgorithmApplication {

    public static void main(String[] args) {
        SpringApplication.run(CoinMarketTechnicalAnalysisIndicatorsAlgorithmApplication.class, args);
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章