3
A
回答
13
,我會感到驚訝,如果有人可以張貼硬數據。即使他們這樣做,它最有可能與您無關,因爲這些數字將取決於過濾器中正在執行的操作。它也可能陷入過早的優化範疇 - 除非你真的把事情搞得很糟糕,否則這很可能不重要。
我假設「遺產」的意思是「繼承」,並說,過濾器是一個更好的解決方案。您可以選擇將它們在配置中關閉和打開。
過濾器是用於HTTP請求的裝飾器或方面。既然這些都是受到尊重的,經過驗證的模式,爲什麼它們對servlet的使用沒有用處和安全?
我想說你的擔心是誇大的。
雖這麼說,我不建議建立這樣一個長期,複雜的過濾器鏈,業績也成爲一個問題。如果您進行壓縮,日誌記錄,性能指標等,最終會出現問題,並最終形成一連串的過濾器。
3
沒有什麼可測量的,完全與您在過濾器中所做的實際工作相差無幾。甚至沒有每次創建過濾器的新實例,就像它們共享的Servlet一樣。
與繼承相比,最大的優勢是能夠在運行時進行配置和組合(父類編譯進來,並且只能有一個)。
有一點要考慮的是,一個過濾器只能換一個請求:它可以前後(或代替)添加代碼。在Servlet運行後,響應可能已經被提交。它不能將代碼注入到請求處理的中間,這樣可以正確定義回調到父類(或Servlet結束處的其他技術)中。這意味着一個Filter可能不適合某些任務。
相關問題
- 1. Systemtap對性能的影響
- 2. connection.commit()對性能的影響
- 3. QueryPerformanceCounter對性能的影響
- 4. 性能影響
- 5. 性能的影響
- 6. 對性能影響CSS屬性
- 7. 對Android註解的性能影響
- 8. SQL:long varchar和對性能的影響
- 9. LIMIT子句對MySql性能的影響?
- 10. Log.d和對性能的影響
- 11. 主鍵對SQLite性能的影響
- 12. smallint與int對性能的影響
- 13. Codeigniter HMVC對性能的影響
- 14. LINQ性能影響
- 15. Mongodb:$ HINT的性能影響
- 16. 1)性能的影響流
- 17. mysql_data_seek的性能影響
- 18. 性能的影響成行
- 19. nvarchar(4000)的性能影響?
- 20. 投影數量對查詢性能的影響
- 21. NSClassFromString會影響性能嗎?
- 22. C#鑄造性能影響
- 23. Java -verbose:gc性能影響?
- 24. 快捷類影響性能?
- 25. Sharepoint 2010 - SPMonitoredScope ...性能影響?
- 26. sqlite3視圖影響性能?
- 27. 指針和性能影響?
- 28. 查詢性能影響
- 29. innodb_log_file_size如何影響性能?
- 30. 影響JOIN在性能
但是,如果您需要執行壓縮,日誌記錄和性能指標等,無論是否使用過濾器或其他方式,都需要同一時間。我不喜歡過濾器的唯一部分是深層堆棧跟蹤,但這是整型和低於允許的堆棧調用深度的方式。然後是「太多移動部件」問題(即配置開銷)。 – Thilo
@Thilo:您可以在Java EE 6中無需配置。因此,這也可以解決。 –
EE6是一個很大的改進,因爲XML消失了,但是你仍然需要在某個地方進行配置(當然註釋是IDE和程序員友好的)。 – Thilo