方式一:注解方式
创建一个过滤器包-》创建过滤器类并实现Filter类,注意是javax.servlet-》重载过滤器的doFilter方法-》在过滤器类头上面加上注释@WebFilter(urlPatterns = “/dofilter”)-》在主入口类上面同样加入注释@ServletComponentScan(basePackages = “com.demo.demo.filter”)
@WebFilter(urlPatterns = "/dofilter")
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("======================过滤器=======================");
filterChain.doFilter(servletRequest,servletResponse);
}
}
过滤器类
@SpringBootApplication
@ServletComponentScan(basePackages = "com.demo.demo.filter")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
主函数
方式二:配置文件方式
创建过滤器包和类实现Filter方法,重载doFilter,和上面一样,但是不需要在加注释,只需要新建一个配置包和配置类,配置类上面加上@Configuration
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean myFilterRegistrationBean(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.addUrlPatterns("/user/**");
return filterRegistrationBean;
}
}