簡體   English   中英

javax.servlet.Filter對性能的影響?

[英]impact of javax.servlet.Filter on performance?

我想知道是否有關於使用過濾器的成本的硬數據? 例如,在使用servlet上的遺產來共享行為或使用過濾器之間?

謝謝,

安托萬

如果有人可以發布硬數據,我會感到驚訝。 即使他們這樣做,也很可能與您無關,因為數字將取決於過濾器中的操作。 它也可能屬於過早的優化類別 - 除非你真的搞砸了一些東西,否則它不太重要。

我認為“遺產”意味着“繼承”,並說過濾器是一個更好的解決方案。 您可以選擇在配置中關閉和打開它們。

過濾器是HTTP請求的裝飾器或方面。 由於這些都是備受推崇的,經過驗證的模式,為什么servlet無法使用它們?

我說你的擔憂被誇大了。

話雖如此,我不建議構建如此長而復雜的過濾器鏈,性能確實成為一個問題。 如果您執行壓縮,日志記錄,性能指標等,最終會出現問題,最終會出現一系列過濾器。

沒有什么可衡量的,完全與您在過濾器中所做的工作相比相形見絀。 甚至每次都沒有創建過濾器的新實例,就像它們被共享的Servlet一樣。

繼承的最大優點是能夠在運行時配置和組合(編譯父類,並且只能有一個)。

要考慮的一件事是Filter只能包裝一個請求:它可以在之前和之后(或者代之)添加代碼。 在Servlet運行之后,響應可能已經提交。 它不能將代碼注入到請求處理的中間,正確定義的回調到父類(或Servlet端的一些其他技術)可以做到。 這意味着過濾器可能不適合某些任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM