我想知道處理請求的順序是什麼,以及servlet(@WebServlet),filter(@WebFilter),phase listeners等有什麼區別。Java EE Servlet/filter/phase listener差異和處理順序
這些方法具有非常相似的頭文件(doGet/doFiler)。
我想知道處理請求的順序是什麼,以及servlet(@WebServlet),filter(@WebFilter),phase listeners等有什麼區別。Java EE Servlet/filter/phase listener差異和處理順序
這些方法具有非常相似的頭文件(doGet/doFiler)。
關於濾波的請求的處理,然後由servlet處理這裏描述:
http://download.oracle.com/docs/cd/B32110_01/web.1013/b28959/filters.htm
因此你主要使用servlet不提供內容和使用可能改變請求/響應過濾器。過濾器可用於實現管道和過濾器或裝飾器設計模式。 (雖然他們也可以自己發送內容,並且完全不會將委託轉發給servlet進行最終處理。)
對於servlet請求處理非常重要。 PhaseListeners是一個更高抽象層次的概念。它們不屬於servlet規範,而是屬於servlet的ontop上的Java Server Faces Concepts。它們可以用來跟蹤您的JSF組件在請求期間所經歷的階段,因此當您想要在請求期間影響JSF組件的行爲/呈現時,它們是過濾器的替代方案。
使用階段監聽器的小例子可以在這裏找到: http://www.softwareengineeringsolutions.com/thoughts/frameworks/JSF.Techniques-PhaseListeners.htm