-
Struts2內(nèi)置常用的攔截器: 1.params攔截器: -負責(zé)將請求參數(shù)設(shè)置為Action屬性 2.staticParams攔截器: -將配置文件中action元素的子元素param參數(shù)設(shè)置為Action屬性 3.servletConfig攔截器: -將源于Servlet API的各種對象注入到Action,必須實現(xiàn)對應(yīng)接口 4.fileUpload攔截器: -對文件上傳提供支持,將文件和元素設(shè)置到對應(yīng)的Action屬性,實際上內(nèi)部依然使用了Commons-FileUpload組件。 5.exception攔截器: -捕獲異常,并且將異常映射到用戶自定義的錯誤頁面 6.validation攔截器: -調(diào)用驗證框架進行數(shù)據(jù)驗證 更多的攔截器可在struts核心包的struts-default.xml中查看查看全部
-
自定義攔截器: 1.方法一:實現(xiàn)Interceptor接口 -void init():初始化攔截器所需資源 -void destroy() :釋放在init()中分配的資源 -String intercept(ActionInvocation ai)throws Exception 實現(xiàn)攔截器功能,利用ActionInvocation參數(shù)獲取Action狀態(tài),返回result字符串作為邏輯視圖。 2.方式二:繼承AbstractInterceptor類 -提供了init()和destroy() 方法的空實現(xiàn) -只需要實現(xiàn)intercept方法即可 實際開發(fā)當中一般會去繼承AbstractInterceptor這個父類查看全部
-
攔截器: Struts2大多數(shù)核心功能是通過攔截器實現(xiàn)的,每個攔截器完成某項功能。 攔截器方法在Action執(zhí)行之前或者之后執(zhí)行。 攔截器棧: 從結(jié)構(gòu)上看,攔截器棧相當于多個攔截器的組合。 在功能上看,攔截器棧也是攔截器。 攔截器的執(zhí)行過程是一個遞歸的過程,工作原理類似于過濾器。查看全部
-
方式一查看全部
-
工作原理查看全部
-
攔截器棧查看全部
-
客戶端通過HttpServletRequest提交一個請求,這個請求通過一系列的過濾器,最終被Struts2核心控制器過濾到,核心控制器通過ActionMapper決定是否要調(diào)用某一個Action ,即用戶是否請求某個Action,Action代理,通過配置管理器加載Strusts核心配置文件,加載Struts.xml ActionProxy創(chuàng)建Action實例(攔截器),調(diào)用攔截器,再調(diào)用action,調(diào)用action中的業(yè)務(wù)處理方法進行業(yè)務(wù)處理,同時業(yè)務(wù)返回一個結(jié)果,再次將攔截器反向執(zhí)行,通過HttpServletResponse響應(yīng)客戶端請求查看全部
-
攔截器的定義查看全部
-
Struts2架構(gòu)剖析圖查看全部
-
攔截器示例查看全部
-
自定義攔截器: 1.方法一:實現(xiàn)Interceptor接口 - void init(): 初始化攔截器所需資源 - void destroy() : 釋放在init()中分配的資源 - String intercept(ActionInvocation ai)throws Exception 實現(xiàn)攔截器功能 利用ActionInvocation參數(shù)獲取Action狀態(tài) 返回result字符串作為邏輯視圖。 2.方式二:繼承AbstractInterceptor類 - 提供了init()和destroy() 方法的空實現(xiàn) - 只需要實現(xiàn)intercept方法即可 實際開發(fā)當中一般會去繼承AbstractInterceptor這個父類查看全部
-
攔截器: Struts2大多數(shù)核心功能是通過攔截器實現(xiàn)的,每個攔截器完成某項功能。 攔截器方法在Action執(zhí)行之前或者之后執(zhí)行。 攔截器棧: 從結(jié)構(gòu)上看,攔截器棧相當于多個攔截器的組合。 在功能上看,攔截器棧也是攔截器。 攔截器的執(zhí)行過程是一個遞歸的過程,工作原理類似于過濾器。查看全部
-
Struts2架構(gòu)剖析查看全部
-
攔截器的工作原理查看全部
-
<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant> <constant name="struts.devMode" value="true"></constant>查看全部
舉報
0/150
提交
取消