1. 程式人生 > >SpringBoot專案中新增過濾器Filter

SpringBoot專案中新增過濾器Filter

一、步驟

  1、通過實現Filter介面,建立一個過濾器類

  2、通過@WebFilter註解,註冊過濾器。urlPatterns屬性代表需要被過濾的請求地址。filterName屬性代表過濾器名稱。

  3、在SpringBoot應用啟動類中,新增@ServletComponentScan註解,表示專案啟動自動掃描Servlet元件。Filter屬於Servlet元件。

二、實現

package org.cm.channelmanage.web.filter;


import org.cm.channelmanage.web.handler.BodyReaderHttpServletRequestWrapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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

@WebFilter(urlPatterns = "/*",filterName = "channelFilter")
public class ChannelFilter implements Filter {
    private Logger logger = LoggerFactory.getLogger(ChannelFilter.class);

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        logger.info("================進入過濾器======================");
    }

    @Override
    public void destroy() {

    }
}
package org.cm.channelmanage;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@ServletComponentScan
public class ChannelManageApplication {

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