通過對filter
過濾器的了解,可以得知在以下三種情況下可以做些處理:
1> 通過控制對
chain.dofilter
的方法的呼叫,來決定是否需要訪問目標資源。
比如,可以在使用者許可權驗證等等。判斷使用者是否有訪問某些資源的許可權,有許可權放行,沒許可權不執行chain.dofilter
方法。
2> 通過在呼叫
chain.dofilter
方法之前,做些處理來達到某些目的。
比如,解決中文亂碼的問題等等。可以在dofilter
方法前,執行設定請求編碼與響應的編碼。甚至可以對
request
介面進行封裝裝飾來處理
get請求方式的中文亂碼問題
(重寫相應的
request.getparameter方法)
。
3> 通過在呼叫
chain.dofilter
方法之後,做些處理來達到某些目的。
比如對整個web
**進行壓縮。在呼叫
chain.dofilter
方法之前用類a對
response
物件進行封裝裝飾,重寫
getoutputstream
和重寫getwriter
方法。在類
a內部中,將輸出內容快取進
bytearrayoutputstream
流中,然後在
chain.dofilter
方法執行後,獲取類a中
bytearrayoutputstream
流快取資料,用
gzipoutputstream
流進行壓縮下。
SAP BTP MTA 應用的應用場景
程式語言 軟體設計架構 如微服務 協議 如 odata 的最新趨勢和進展,以及多層和分布式部署平台的多樣性,加速了由更多 更小 解耦和多樣化的模組構建應用程式的趨勢。在微服務架構下,越來越多的業務應用程式傾向於由使用不同語言和技術開發並部署到各種目標執行時環境的多個部分組成。這種應用程式模組的多樣性...
Redis應用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在如何把大象放進冰箱這樣的問題上,而是利用redis靈活多變的資料結構和資料操作,為不同的大象構建不同的冰箱。redis常用資料型別 redis最為常用的資料型別主要有以下五種 在具體描述這幾種資料型別之...
Redis應用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在如何把大象放進冰箱這樣的問題上,而是利用redis靈活多變的資料結構和資料操作,為不同的大象構建不同的冰箱。redis常用資料型別 redis最為常用的資料型別主要有以下五種 在具體描述這幾種資料型別之...