Springboot配置Filter
阿新 • • 發佈:2018-12-10
1.先寫攔截器 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.LoggerFactory; import java.io.IOException; import javax.servlet.*; public class SpringBootFilter implements Filter { private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SpringBootFilter.class); @Override public void init(javax.servlet.FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; HttpServletResponse httpResponse = (HttpServletResponse) servletResponse; String url = httpRequest.getRequestURI().substring(httpRequest.getContextPath().length()); logger.info(url); logger.info("path>>>>"+httpRequest.getRequestURI()); logger.info("request>>>"+httpRequest); logger.info("response>>>"+httpResponse); filterChain.doFilter(httpRequest, httpResponse); } @Override public void destroy() { } } 2.配置攔截器 import javax.servlet.Filter; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class FilterConfig { /** * 配置過濾器 * @return */ @Bean public FilterRegistrationBean someFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(sessionFilter()); registration.addUrlPatterns("/*"); registration.addInitParameter("paramName", "paramValue"); registration.setName("sessionFilter"); return registration; } /** * 建立一個bean * @return */ @Bean(name = "sessionFilter") public Filter sessionFilter() { return new SpringBootFilter(); } }