@Configuration
public class BeanFilter {
@Bean
public RemoteIpFilter remoteIpFilter() {
return new RemoteIpFilter();
}
@Bean
public FilterRegistrationBean<MyFilter1> testFilterRegistration1() {
FilterRegistrationBean<MyFilter1> registration = new FilterRegistrationBean<MyFilter1>();
registration.setFilter(new MyFilter1());
registration.addUrlPatterns("/*");
registration.addInitParameter("paramName", "paramValue");
registration.setName("BeanFilter1");
registration.setOrder(2);
return registration;
}
@Bean
public FilterRegistrationBean<MyFilter2> testFilterRegistration2() {
FilterRegistrationBean<MyFilter2> registration = new FilterRegistrationBean<MyFilter2>();
registration.setFilter(new MyFilter2());
registration.addUrlPatterns("/*");
registration.addInitParameter("paramName", "paramValue");
registration.setName("BeanFilter2");
registration.setOrder(1);
return registration;
}
public class MyFilter1 implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain)
throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest) srequest;
System.out.println("this is MyFilter(BeanFilter1),url :"+request.getRequestURI());
filterChain.doFilter(srequest, sresponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
public class MyFilter2 implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain)
throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest) srequest;
System.out.println("this is MyFilter(BeanFilter2),url :"+request.getRequestURI());
filterChain.doFilter(srequest, sresponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
}
测试
this is MyFilter(BeanFilter2),url :/Aiops2
this is MyFilter(BeanFilter1),url :/Aiops2
org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER
formContentFilter.FILTERED
requestContextFilter.FILTERED
characterEncodingFilter.FILTERED
过滤1/Aiops2
org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER
formContentFilter.FILTERED
requestContextFilter.FILTERED
characterEncodingFilter.FILTERED
过滤2/Aiops2