这是第一个filter
@Component
public class FirstFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
System.out.println("dofilter1");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}这是第二个
@Component
public class ScondFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
System.out.println("dofilter2");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}具体业务内容可根据不同场景更改
然后写Registrationbean
setorder可以设置执行的顺序
@Configuration
public class FilterRegister {
@Bean
public FilterRegistrationBean registrationFilterBean(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.setFilter(new FirstFilter());
filterRegistrationBean.addUrlPatterns("/hello/*");
filterRegistrationBean.setOrder(0);
filterRegistrationBean.setEnabled(true);
return filterRegistrationBean;
}
@Bean
public FilterRegistrationBean registrationBean(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.setFilter(new ScondFilter());
filterRegistrationBean.addUrlPatterns("/hello/*");
filterRegistrationBean.setOrder(1);
filterRegistrationBean.setEnabled(true);
return filterRegistrationBean;
}
}最后运行,在本机上访问localhost://8080/hello时,Filter依次进行过滤,最后输出如下
版权声明:本文为weixin_40631204原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。