1.經過掃描註解完成Filter組件註冊html
建立一個類,實現Filter接口,實現doFilter()方法數組
在該類使用註解@WebFilter,設置filterName與urlPatternsjsp
在doFilter中編寫代碼ide
編寫啓動類:增長註解@ServletComponentScanurl
/** * SpringBoot整合Filter 方式一 項目 www.fhadmin.org */ //@WebFilter(filterName="FirstFilter" , urlPatterns= {"*.do","*.jsp"}) @WebFilter(filterName="FirstFilter" , urlPatterns= "/first") public class FirstFilter implements Filter { @Override public 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"}spa
2.經過方法完成Filter組件註冊code
建立一個類,實現Filter接口,實現doFilter()方法htm
編寫啓動類對象
添加一個方法,返回值必須是FilterRegistrationBean的對象,他可以建立Filter對象的實例對象blog
建立FilterRegistrationBean對象,傳入實例化的Filter對象
添加Url,bean.addUrlPatterns();
返回FilterRegistrationBean對象
在此方法上增長@Bean的註解
/** * 註冊Filter項目 www.fhadmin.org */ @Bean public FilterRegistrationBean getFilterRegistrationBean() { FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter()); //bean.addUrlPatterns(new String[] {"*.do","*.jsp"}); bean.addUrlPatterns("/second"); return bean; }