本文主要是介绍SpringBoot Filter 过滤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.通过扫描注解完成Filter组件注册
-
创建一个类,实现Filter接口,实现doFilter()方法
-
在该类使用注解@WebFilter,设置filterName与urlPatterns
-
在doFilter中编写代码
-
编写启动类:增加注解@ServletComponentScan
/*** SpringBoot整合Filter 方式一 项目 www.fhadmin.org*///@WebFilter(filterName="FirstFilter" , urlPatterns= {"*.do","*.jsp"})@WebFilter(filterName="FirstFilter" , urlPatterns= "/first")public class FirstFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {System.out.println("进入Filter");chain.doFilter(request, response);System.out.println("离开Filter");}}
//项目 www.fhadmin.org
@SpringBootApplication
@ServletComponentScan
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}
urlPatterns 是数组类型的,可以拦截多个 例如:urlPatterns= {".do",".jsp"}
2.通过方法完成Filter组件注册
- 创建一个类,实现Filter接口,实现doFilter()方法
- 编写启动类
- 添加一个方法,返回值必须是FilterRegistrationBean的对象,他能够创建Filter对象的实例对象
- 创建FilterRegistrationBean对象,传入实例化的Filter对象
- 添加Url,bean.addUrlPatterns();
- 返回FilterRegistrationBean对象
- 在此方法上增加@Bean的注解
/*** 注册Filter项目 www.fhadmin.org*/ @Beanpublic FilterRegistrationBean getFilterRegistrationBean() {FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());//bean.addUrlPatterns(new String[] {"*.do","*.jsp"});bean.addUrlPatterns("/second");return bean;}
这篇关于SpringBoot Filter 过滤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!