freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

j2ee項(xiàng)目實(shí)訓(xùn)struts框架技術(shù)——第12章struts2框架技術(shù)及應(yīng)用第1部分(編輯修改稿)

2024-12-23 16:15 本頁面
 

【文章內(nèi)容簡介】 要求,可以 配置不同的攔截器或者攔截器 鏈 。這些攔截器 鏈中的各個 組件為請求提供了各種預(yù)處理、切面處理 等方面 的楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 7/16 頁 功能。 當(dāng)然,這種設(shè)計(jì)思想其實(shí)和原有的 Struts 框架中使用 Jakarta Commons Chain 組件的 RequestProcessor 組件 類很相似 ,但更加模板化和職責(zé)分離 。 由于在 Struts 2 框架 中大量使用攔截器 組件 來處理用戶 的 請求,從而 就能夠 達(dá)到將 業(yè)務(wù)邏輯 的 控制器與 J2EE Servlet API 相互 分離 的解藕設(shè)計(jì)目標(biāo) —— 因?yàn)?Struts 2 框架 中的各種 攔截器 是面向切面編程( AOP, Aspect Oriented Programming)技術(shù)中的切面 組件 ( Advice) 。 2) 各個 攔截器組件 組成一個 鏈 式結(jié)構(gòu)并相互協(xié)作 Struts2 框架 是一種 支持?jǐn)r截器 ( Interceptor)技術(shù)的 框架, 通過各個 攔截器 組件 實(shí)現(xiàn) 將 應(yīng)用系統(tǒng)中與控制調(diào)度有關(guān)的共同功能 行為獨(dú)立出來, 并 在 系統(tǒng)的 Action 組件 執(zhí)行前和 后 被觸發(fā)執(zhí)行 。 這種設(shè)計(jì)方案 也就是 面向切面編程技術(shù)( AOP)和思想的具體應(yīng)用 , AOP是分散關(guān)注 點(diǎn) 的編程方法,它將通用需求 的 功能從不相關(guān)類中分離出來 。 因此,客戶端 提交 產(chǎn)生出 對 某個 Aciton 組件的 HttpServletRequest 請求時(shí), Struts2框架 中的 FilterDispatcher 組件 會根據(jù)請求 的類型 ,調(diào)度并執(zhí)行相應(yīng)的 業(yè)務(wù)控制器 Action組件 。 而 在 Action 組件被 執(zhí)行之前, 要 調(diào)用 各個 攔截器組件 中的方法以 完成在請求處理之前的共性的功能實(shí)現(xiàn)(如身份驗(yàn)證、初始化請求的資源等)。同樣 , 在 Action 組件 執(zhí)行 完畢 后 仍然會觸發(fā)各個 攔截器組件 以完成對請求處理 后的善后處理功能要求 。 3)控制層設(shè)計(jì)中應(yīng)用各種 攔截器組件 的主要目的 Struts2 框架 在系統(tǒng)總體架構(gòu)設(shè)計(jì)方面,在控制層設(shè)計(jì)中大量地應(yīng)用各種 攔截器組件 的主要目的,一方面除了要達(dá)到 AOP 中所倡導(dǎo)的“分離核心關(guān)注點(diǎn)和輔助關(guān)注點(diǎn)”的設(shè)計(jì)目標(biāo)以外,另一方面則是希望將系統(tǒng)中的業(yè)務(wù)控制器 Action 組件獨(dú)立于 J2EE Servlet 容器,從而達(dá)到對 業(yè)務(wù)邏輯 的 控制 調(diào)度 與 J2EE Servlet API 相互 分離 的解藕設(shè)計(jì)目標(biāo)。 Struts 2 框架 的控制器組件是 Struts 2 框架的核心, 目前 所有 MVC 框架都是以控制器組 件為核心的。 Struts 2 框架 的控制器 也是 由兩個部分組成 —— FilterDispatcher 過濾器組件和業(yè)務(wù)控制器 Action 組件 類 。 當(dāng)然, 起 主要 作用的業(yè)務(wù)控制器 其實(shí) 不是 開發(fā)人員編程定義 及實(shí)現(xiàn) 的 Action 組件 類 ,而是 由 Struts 2 框架 系統(tǒng)生成的 Action 組件代理 (也就是圖 中所標(biāo)識的 ActionProxy 組件) ,但該 ActionProxy 組件會回調(diào) 用戶 編程 定義的 各個 業(yè)務(wù)控制器 Action 組件 。 4)在 Web 應(yīng)用系統(tǒng)部署描述文件 中配置出 FilterDispatcher 組件 Struts 2 框架 也是 J2EE 核心設(shè)計(jì)模式( J2EE Core Pattern)中的前端控制器設(shè)計(jì)架構(gòu)的具體實(shí)現(xiàn), 通過一個 J2EE Web Servlet 或者 Filter 控制器 組件 提供 一個 統(tǒng)一的請求楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 8/16 頁 入口 、并 解析請求的 URL,再 根據(jù)請求的具體要求 去調(diào)用相應(yīng)的 業(yè)務(wù)控制器 Action 組件中的目標(biāo)方法 進(jìn)行 相應(yīng)的 業(yè)務(wù)處理。 為此,也同樣需要在 Web 應(yīng)用系統(tǒng)中的部署描述文件 中配置出其前端控制器FilterDispatcher 過濾器 組件 (而原有的 Struts 框架 是 采用 一個普通 的 Servlet 組件來承擔(dān)的)。 該 過濾器 組件 初始化 Struts 2 框架 中 的 各種 配置信息 (主要來自于 配置文件中的各個定義和設(shè)置項(xiàng)目) , 并 解析 有關(guān) 的 Action 組件的 配置信息,根據(jù)請求去組裝和調(diào)用執(zhí)行相應(yīng)的攔截器、 Action 組件 、 Action Result(Action 執(zhí)行結(jié)果的輸出 )等 。具體 的 配置 示例請見下面 【例 121】 所示的 文件中的部分配置定義標(biāo)簽 ,并請注意其中的黑體部分的內(nèi)容。 【例 121】 在 文件中配置出 FilterDispatcher 組件的示例 ?xml version= encoding=UTF8? webapp filterfilternamestruts2/filtername filterclass/filterclass initparamparamnamedevMode/paramname paramvaluetrue/paramvalue /initparam /filter filtermapping filternamestruts2/filtername urlpattern*.action/urlpattern /filtermapping /webapp 讀者 從 【例 121】所示的配置項(xiàng)目中 應(yīng)該能夠 發(fā)現(xiàn) 出 , Struts 2 框架在前端控制器的設(shè)計(jì)方面仍然與 原有的 Struts 框架相似,只是將 ActionServlet 組件改變?yōu)?FilterDispatcher 組件。 而 FilterDispatcher 組件 在執(zhí)行時(shí)會自動地查找 文件(該文件在 缺省的 應(yīng)用方式下 必須放在 /WEBINF/classes 目錄中)、并對該 XML 文件中的各個配置項(xiàng)目進(jìn)行 解析 。 5)可以為 FilterDispatcher 組件 提供各種初始化參數(shù) 當(dāng)配置 定義 FilterDispatcher 過濾器 組件 類時(shí),可以 為它 指定一系列的初始化參數(shù) —— 比如 【例 121】 中所示的“ devMode”。當(dāng)然,這些 初始化參數(shù) 也可以在后面將要介紹楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 9/16 頁 的 和 文件 中進(jìn)行配置定義。 Struts2 框架 業(yè)務(wù)控制器 Action 組件 業(yè)務(wù)控制器 Action 組件類不再與 J2EE Servlet 容器緊密藕合 1)如何達(dá)到 Action 組件類不再與 J2EE Servlet 容器緊密藕合的設(shè)計(jì)目標(biāo) 由于 Struts 2框架對業(yè)務(wù)控制器 Action組件類的設(shè)計(jì)目標(biāo)是希望不再與 J2EE Servlet容器緊密藕合,因此在前端控制器 FilterDispatcher 組件和用戶的實(shí)際業(yè)務(wù)控制器 Action組件類之間設(shè)計(jì)有 Action 代理( ActionProxy)和一系列的攔截器 組件類(請參考圖 中所示的 Struts2 的系統(tǒng)架構(gòu)圖示 )。 因此,在 Struts 2 框架中 用于處理用戶請求的實(shí)際 Action 類 實(shí)例,并不是 開發(fā)人員實(shí)現(xiàn)的業(yè)務(wù)控制器 Action 組件類 ,而是 ActionProxy( Action 代理 )類 —— 從而才有可能使得 開發(fā)人員 實(shí)現(xiàn)的業(yè)務(wù)控制器 Action 組件類 不再與 J2EE Servlet API 相互耦合。 2) Struts 2 框架 應(yīng)用 ActionProxy 代理 隔離 Action 組件對 Servlet 容器的依賴 下 圖 中所示 為 Struts 框架和 Struts2 框架控制層架構(gòu)的對比圖示 ,其中上圖為原有的 Struts 框架控制層架構(gòu) ,而下圖為 Struts2 框架控制層 的 架構(gòu)。 讀者從圖 中可以了解到 Struts 2 框架 是應(yīng)用 ActionProxy 代理 類來隔離開發(fā)人員 實(shí)現(xiàn)的業(yè)務(wù)控制器Action 組件對 Servlet 容器的依賴 —— 這是 代理 模式的具體應(yīng)用。 圖 Struts 框架 和 Struts2 框架中的控制層架構(gòu)的對比 但應(yīng)用了 ActionProxy 代理 這樣的設(shè)計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1