SpringBoot專案中新增過濾器Filter
阿新 • • 發佈:2018-12-10
一、步驟
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); } }