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

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