久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Springboot工程中使用filter過(guò)程解析

瀏覽:17日期:2023-05-28 18:45:26

一、什么是filter

過(guò)濾器實(shí)際上就是用來(lái)對(duì)web資源進(jìn)行攔截,做一些處理后再交給下一個(gè)過(guò)濾器或servlet處理 通常都是用來(lái)攔截request進(jìn)行處理的,也可以對(duì)返回的response進(jìn)行攔截處理 。

filter可以在請(qǐng)求到達(dá)servlet前或者請(qǐng)求完成響應(yīng)后進(jìn)行后續(xù)的處理。

二、在springboot工程中使用filter

創(chuàng)建一個(gè)filter,并使用注解配置該filter的名稱和攔截路徑等屬性

@WebFilter(filterName = 'AFilter',urlPatterns = '/*')public class AFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { System.out.println('AFilter 開始執(zhí)行'); chain.doFilter(req, resp); System.out.println('AFilter 執(zhí)行完成'); } public void init(FilterConfig config) throws ServletException { }}

上面的代碼在doFilter方法中寫該過(guò)濾器的具體執(zhí)行邏輯,chain.doFilter用來(lái)把請(qǐng)求交給下一個(gè)過(guò)濾器或者servlet。

在啟動(dòng)類上使用注解@ServletComponentScan來(lái)掃描自定義的過(guò)濾器

@SpringBootApplication@ServletComponentScanpublic class BillAdminApplication { public static void main(String[] args) { SpringApplication.run(BillAdminApplication.class,args); }}

這樣自定義的過(guò)濾器就會(huì)被掃描到,就可以起作用。

三、過(guò)濾器的執(zhí)行順序

如果項(xiàng)目中配置了多個(gè)過(guò)濾器,并且使用的是注解配置,請(qǐng)求到來(lái)時(shí)過(guò)濾器名稱字母順序靠前的過(guò)濾器會(huì)先執(zhí)行;給客戶端返回響應(yīng)時(shí)過(guò)濾器的執(zhí)行順序和請(qǐng)求時(shí)的相反。

四、注意

使用以上這種方式來(lái)加載自定義過(guò)濾器時(shí),不能自定義過(guò)濾器的執(zhí)行順序,只能通過(guò)限定類名順序來(lái)達(dá)到目的。

五、使用FilterRegistrationBean 來(lái)注冊(cè)過(guò)濾器

當(dāng)需要自定義過(guò)濾器的執(zhí)行順序時(shí),可以使用FilterRegistrationBean來(lái)實(shí)現(xiàn)。

先創(chuàng)建一個(gè)過(guò)濾器,比如上邊的AFilter.java,不再需要注解@WebFilter,

再啟動(dòng)類或者配置類中注入一個(gè)如下的bean

@Bean public FilterRegistrationBean registrationBean1(){ FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean(); filterRegistrationBean.setFilter(new AFilter()); filterRegistrationBean.addUrlPatterns('/*'); filterRegistrationBean.setOrder(2); return filterRegistrationBean; }

使用這種方式,創(chuàng)建一個(gè)filterRegistrationBean對(duì)象,再設(shè)置其相關(guān)屬性,可以通過(guò)order屬性來(lái)設(shè)置過(guò)濾器的執(zhí)行順序,order值越小表示過(guò)濾器的優(yōu)先級(jí)越高,會(huì)先執(zhí)行。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 日本精品一区二区三区视频 | 成人福利视频 | 91视频网 | 手机亚洲第一页 | 伊人狠狠| 精品少妇一区二区三区 | 男人的天堂中文字幕 | 亚洲综合大片69999 | 中文在线一区 | 国产精品美女久久久久久久久久久 | 日韩精品视频网 | 九九九视频 | 婷婷色国产偷v国产偷v小说 | 在线成人免费视频 | 亚洲欧美激情另类 | 九九免费在线观看 | 大象一区 | 亚洲a精品 | 欧美日韩一区二区在线播放 | 久久爱综合网 | 欧美激情视频一区二区三区在线播放 | 日韩精品观看 | 欧美一区二区三区 | 国产天天操 | 欧美全黄| 香蕉视频在线看 | 夜夜爽99久久国产综合精品女不卡 | 中文字幕在线免费观看 | 国产一级毛片电影 | 色婷婷亚洲一区二区三区 | 97伦理网 | 国产美女久久 | 亚洲精品日韩在线 | 在线精品日韩 | 成人精品视频在线观看 | 操操操av| 精品久久久久久久久久久久久久 | 欧美高清国产 | www日韩 | 免费国产成人 | 精品人成|