理解攔截器 1.1. 什么是攔截器: 攔截器,在AOP(Aspect-Oriented Programming)中用于在某個方法或字段被訪問之前,進行攔截然后在之前或之后加入某些操作。攔截是AOP的一種實現策略。 在Webwork的中文文檔的解釋為——攔截器是動態攔截Action調用的對象。它提供了一種機制可以使開發者可以定義在一個action執行的前后執行的代碼,也可以在一個action執行前阻止其執行。同時也是提供了一種可以提取action中可重用的部分的方式。 談到攔截器,還有一個詞大家應該知道——攔截器鏈(Interceptor Chain,在Struts 2中稱為攔截器棧Interceptor Stack)。攔截器鏈就是將攔截器按一定的順序聯結成一條鏈。在訪問被攔截的方法或字段時,攔截器鏈中的攔截器就會按其之前定義的順序被調用。 1.2. 攔截器的實現原理: 大部分時候,攔截器方法都是通過代理的方式來調用的。Struts 2的攔截器實現相對簡單。當請求到達Struts 2的ServletDispatcher時,Struts 2會查找配置文件,并根據其配置實例化相對的攔截器對象,然后串成一個列表(list),最后一個一個地調用列表中的攔截器。 2. 攔截器的配置 Struts 2已經為您提供豐富多樣的,功能齊全的攔截器實現。大家可以至struts2的jar包內的struts-default.xml查看關于默認的攔截器與攔截器鏈的配置。 Struts2(XWork)提供的攔截器的功能說明: 1、攔截器:Alias Interceptor 2、攔截器:Chaining Interceptor 3、攔截器:Checkbox Interceptor 4、攔截器:Cookies Interceptor 5、攔截器:Conversion Error Interceptor 6、攔截器:Create Session Interceptor 7、攔截器:Debugging Interceptor 8、攔截器:Execute and Wait Interceptor 9、攔截器:Exception Interceptor 10、攔截器:File Upload Interceptor 11、攔截器:I18n Interceptor 12、攔截器:Logger Interceptor 13、攔截器:Message Store Interceptor 14、攔截器:Model Driven Interceptor 15、攔截器:Scoped Model Driven 16、攔截器:Parameters Interceptor 17、攔截器:Prepare Interceptor 18、攔截器:Scope Interceptor 19、攔截器:Servlet Config Interceptor 20、攔截器:Static Parameters Interceptor 21、攔截器:Roles Interceptor 22、攔截器:Timer Interceptor 23、攔截器:Token Interceptor 24、攔截器:Token Session Interceptor 25、攔截器:Validation Interceptor 26、攔截器:Workflow Interceptor 27、攔截器:Parameter Filter Interceptor 28、攔截器:Profiling Interceptor
...... |
上一篇 : 熱烈慶祝莊偉明老師給貴州興義中國工商銀行講《陽光心態與幸福人生》課程圓滿結束
下一篇 : 《高效溝通技巧》