SpringBoot過濾器OncePerRequestFilter

springboot中javax.servlet.Filter原生接口的實現;而Spring的OncePerRequestFilter類實際上是一個實現了Filter接口的抽象類。spring對Filter進行了一些封裝處理。 

        OncePerRequestFilter,顧名思義,它能夠確保在一次請求中只通過一次filter,而不需要重複的執行。大家常識上都認爲,一次請求本來就只filter一次,爲什麼還要由此特別限定呢,往往我們的常識和實際的實現並不真的一樣,經過一番資料的查閱,此方法是爲了兼容不同的web container,也就是說並不是所有的container都入我們期望的只過濾一次,servlet版本不同,執行過程也不同,因此,爲了兼容各種不同運行環境和版本,默認filter繼承OncePerRequestFilter是一個比較穩妥的選擇。

SpringBoot讓重複執行的filter實現一次執行過程的解決方案,官網地址:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-disable-registration-of-a-servlet-or-filter。


原文鏈接:https://blog.csdn.net/u013089490/article/details/84878319

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章