@Configuration
public class WebConfig {
@Bean
public FilterRegistrationBean timeFilter() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
MyFilter myFilter = new MyFilter();
registrationBean.setFilter(myFilter);
registrationBean.addUrlPatterns("/*");//配置过滤规则
registrationBean.setName("timeFilter");
registrationBean.setOrder(1);
return registrationBean;
}
}
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("MyFilter.init");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
//过滤掉js的请求
if(!httpServletRequest.getRequestURI().contains(".js")) {
System.out.println("time filter start");
long start = new Date().getTime();
filterChain.doFilter(request, response);
System.out.println(new Date().getTime() - start);
System.out.println("time filter end");
}
}
@Override
public void destroy() {
System.out.println("MyFilter.destroy");
}
}