springboot整合filter
整合filter方式一
-
创建filter
//整合filter方式一 // @WebFilter(filterName = "FirstFilter",urlPatterns = {"*.do","*.jsp"}) @WebFilter(filterName = "FirstFilter",urlPatterns = "/first") 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("first filter"); filterChain.doFilter(servletRequest,servletResponse); System.out.println("离开first filter"); } @Override public void destroy() { } }
-
修改启动类
@SpringBootApplication @ServletComponentScan //在springboot启动时扫描@WebServlet,@WebFilter注解,并将该类实例化 public class SpringbootwebApplication { public static void main(String[] args) { SpringApplication.run(SpringbootwebApplication.class, args); } }
整合filter方式二
-
创建filter
//整合filter方式二 public class SecondFilter 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("进入second filter"); filterChain.doFilter(servletRequest,servletResponse); System.out.println("离开second filter"); } @Override public void destroy() { } }
-
编写配置类
//filter配置类 @Configuration public class FilterConfig { @Bean public FilterRegistrationBean getFilterRegistrationBean(){ FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter()); // bean.addUrlPatterns(new String[]{"*.do","*.jsp"});//通过后缀拦截 bean.addUrlPatterns("/second"); return bean; } }