一、创建过滤器
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("MyFilter init");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("MyFilter dofilter");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
System.out.println("MyFilter destroy");
}
}
二、注册过滤器
@Configuration
public class FilterConfigration {
@Bean
public FilterRegistrationBean registrationFilter(){
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new MyFilter());
bean.setName("MyFilter");
bean.addUrlPatterns("/*");
bean.setOrder(1);
return bean;
}
}
另一种方法:
一 使用注解方式配置过滤器
@WebFilter(urlPatterns = "/*",filterName = "MyFIlter2")
public class MyFIlter2 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("MyFIlter2 init");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("MyFIlter2 doFilter");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
System.out.println("MyFIlter2 destroy");
}
}
二、 需要在配置类中加上@ServletComponentScan(“com.zsx.learn.filter”)注解扫描
@SpringBootApplication()
@ServletComponentScan("com.zsx.learn.filter")
public class LearnApplication
public static void main(String[] args) {
SpringApplication.run(LearnApplication.class, args);
}
}
转载自:https://blog.csdn.net/qq_36411874/article/details/53996873