spring-boot增加自定義filter

前言

傳統(tǒng)的javaEE增加Filter是在web.xml中配置恕曲,如以下代碼:

TestFiltercom.cppba.filter.TestFilterTestFilter/*paramNameparamValue

然而spring-boot中很明顯不能這樣實(shí)現(xiàn),那怎么辦呢瀑凝?看完下面的教程灵奖,答案自然知道了蚊丐。

老方法(新方法請(qǐng)直接下拉)

1.創(chuàng)建自定義Filter

packagecom.cppba.filter;importjavax.servlet.*;importjava.io.IOException;publicclassTestFilterimplementsFilter{@Overridepublicvoidinit(FilterConfig filterConfig)throwsServletException{? ? }@OverridepublicvoiddoFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throwsIOException, ServletException{? ? ? ? System.out.println("TestFilter");? ? }@Overridepublicvoiddestroy(){? ? }}

2.在ApplicationConfiguration.java中增加一個(gè)@bean

@BeanpublicFilterRegistrationBeantestFilterRegistration(){? ? ? ? FilterRegistrationBean registration =newFilterRegistrationBean();? ? ? ? registration.setFilter(newTestFilter());? ? ? ? registration.addUrlPatterns("/*");? ? ? ? registration.addInitParameter("paramName","paramValue");? ? ? ? registration.setName("testFilter");? ? ? ? registration.setOrder(1);returnregistration;? ? }

3.啟動(dòng)項(xiàng)目

你會(huì)看到控制臺(tái)打印如下代碼:

https://github.com/bigbeef/cppba-spring-boot

4.訪問(wèn)項(xiàng)目

最后我們?cè)L問(wèn)以下http://127.0.0.1:8080/test

如果你看到控制臺(tái)打印出:TestFilter

https://github.com/bigbeef/cppba-spring-boot

恭喜你射富,配置成功!

參考項(xiàng)目:https://github.com/bigbeef/cppba-spring-boot

github地址:https://github.com/bigbeef

個(gè)人博客:http://www.cppba.com

2017-04-20 最新spring-boot增加Filter方法

首先定義一個(gè)Filter

@Order(1)//重點(diǎn)@WebFilter(filterName ="testFilter1", urlPatterns ="/*")publicclassTestFilterFirstimplementsFilter{@Overridepublicvoidinit(FilterConfig filterConfig)throwsServletException{? ? }@OverridepublicvoiddoFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throwsIOException, ServletException{? ? ? ? System.out.println("TestFilter1");? ? ? ? filterChain.doFilter(servletRequest,servletResponse);? ? }@Overridepublicvoiddestroy(){? ? }}

比較核心的代碼是自定義類(lèi)上面加上@WebFilter析恢,其中@Order注解表示執(zhí)行過(guò)濾順序查刻,值越小键兜,越先執(zhí)行

我們?cè)趕pring-boot的入口處加上如下注解@ServletComponentScan:

@SpringBootApplication(scanBasePackages ="com.cppba")//重點(diǎn)@ServletComponentScanpublicclassApplication{publicstaticvoidmain(String[] args)throwsUnknownHostException{? ? ? ? SpringApplication app =newSpringApplication(Application.class);? ? ? ? Environment environment = app.run(args).getEnvironment();? ? }}

這種方法效果和上面版本一樣,但是用起來(lái)更加方便赖阻!

作者:大黃蜂coder

鏈接:http://www.reibang.com/p/05c8be17c80a

來(lái)源:簡(jiǎn)書(shū)

著作權(quán)歸作者所有蝶押。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處火欧。

參考項(xiàng)目:https://github.com/bigbeef/cppba-spring-boot

開(kāi)源地址:https://github.com/bigbeef

個(gè)人博客:http://blog.cppba.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棋电,一起剝皮案震驚了整個(gè)濱河市茎截,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赶盔,老刑警劉巖企锌,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異于未,居然都是意外死亡撕攒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)烘浦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)抖坪,“玉大人,你說(shuō)我怎么就攤上這事闷叉〔晾” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵握侧,是天一觀的道長(zhǎng)蚯瞧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)品擎,這世上最難降的妖魔是什么埋合? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮萄传,結(jié)果婚禮上甚颂,老公的妹妹穿的比我還像新娘。我一直安慰自己盲再,他們只是感情好西设,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布瓣铣。 她就那樣靜靜地躺著答朋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棠笑。 梳的紋絲不亂的頭發(fā)上梦碗,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音蓖救,去河邊找鬼洪规。 笑死,一個(gè)胖子當(dāng)著我的面吹牛循捺,可吹牛的內(nèi)容都是我干的斩例。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼从橘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼念赶!你這毒婦竟也來(lái)了础钠?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤叉谜,失蹤者是張志新(化名)和其女友劉穎旗吁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體停局,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡很钓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了董栽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片码倦。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖锭碳,靈堂內(nèi)的尸體忽然破棺而出叹洲,到底是詐尸還是另有隱情,我是刑警寧澤工禾,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布运提,位于F島的核電站,受9級(jí)特大地震影響闻葵,放射性物質(zhì)發(fā)生泄漏民泵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一槽畔、第九天 我趴在偏房一處隱蔽的房頂上張望栈妆。 院中可真熱鬧,春花似錦厢钧、人聲如沸鳞尔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)寥假。三九已至,卻和暖如春霞扬,著一層夾襖步出監(jiān)牢的瞬間糕韧,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工喻圃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留萤彩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓斧拍,卻偏偏與公主長(zhǎng)得像雀扶,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肆汹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理愚墓,服務(wù)發(fā)現(xiàn)窍侧,斷路器,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,778評(píng)論 6 342
  • 本文包括:1转绷、Filter簡(jiǎn)介2伟件、Filter是如何實(shí)現(xiàn)攔截的?3议经、Filter開(kāi)發(fā)入門(mén)4斧账、Filter的生命周期...
    廖少少閱讀 7,262評(píng)論 3 56
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,412評(píng)論 2 45
  • 首先你要知道: 工具: nodejs煞肾。 nodemon咧织。(方便進(jìn)行調(diào)試) Nodejs的API path.reso...
    枸杞辣條閱讀 1,067評(píng)論 2 5