整合 Filter
- 方式一(通过注解扫描完成 Filter 组件注册 )
1创建 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() {}
}
2 修改启动类
@SpringBootApplication
//在 spring Boot 启动时会扫描 @WebServlet,@WebFilter 注解,并将该类实例化
@ServletComponentScan
public class SpringbootwebApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootwebApplication.class, args);
}
}
- 方式二(通过配置类完成 Filter 组件注册 )
1创建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() {}
}
2 创建Filter配置类
/**
* Filter 配置类
*/
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean getFilterRegistrationBean(){
// bean.addUrlPatterns(new String[]{"*.do","*.jsp"});
FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());
bean.addUrlPatterns("/second");
return bean;
}
}