目標
實現一個自定義過濾器,在所有請求進來時輸出點兒信息
實現過濾器
實現一個自定義過濾器,在所有請求進行業務處理前,在控制檯輸出請求Id和請求Url
@Configuration
@EnableWebMvc
public class WebConfiguration {
public static class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
System.out.println(STR."RequestId: \{request.getRequestId()},請求方式:\{request.getRequestURI()}");
filterChain.doFilter(servletRequest, servletResponse);
}
}
}
註冊過濾器
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean<WebConfiguration.MyFilter> myFilterFilterRegistrationBean(){
FilterRegistrationBean<WebConfiguration.MyFilter> filterRegistrationBean = new FilterRegistrationBean<>();
filterRegistrationBean.setFilter(new WebConfiguration.MyFilter());
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.setName("myFilter");
return filterRegistrationBean;
}
}