1.通过注解扫描完成Filter组件的注册
1.1编写filter (添加拦截的servlet)
//@WebFilter(filterName = "FirstFilter",urlPatterns = {"*.do","*.jsp"}) @WebFilter(filterName = "FirstFilter",urlPatterns = "/first") public class FirstFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub System.out.println("进入filter"); chain.doFilter(request, response); System.out.println("离开filter"); } @Override public void destroy() { // TODO Auto-generated method stub } }
1.2 添加启动器
/** * springboot 整合filter方式一 * * @author Administrator */ @SpringBootApplication @ServletComponentScan public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
2.通过方法完成filter组件的注册
2.1编写filter
public class secondFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub System.out.println("进入secondFilter"); chain.doFilter(request, response); System.out.println("离开secondFilter"); } @Override public void destroy() { // TODO Auto-generated method stub } }
2.2 编写启动类
/** * springboot整合filter方式2 * * @author Administrator * */ @SpringBootApplication public class App2 { public static void main(String[] args) { SpringApplication.run(App2.class, args); } /** * 注册servlet * @return */ @Bean public ServletRegistrationBean getServletRegistrationBean () { ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet()); bean.addUrlMappings("/second"); return bean; } /** * 注册Filter * @return */ @Bean public FilterRegistrationBean getFilterRegistrationBean() { FilterRegistrationBean bean = new FilterRegistrationBean (new secondFilter()); // bean.addUrlPatterns(new String[] {"*.do","*.jsp"}); bean.addUrlPatterns("/second"); return bean; } }