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部分-資料下載頁(yè)

2024-11-17 16:15本頁(yè)面

【導(dǎo)讀】現(xiàn),使得開發(fā)人員在應(yīng)用系統(tǒng)的開發(fā)中有更多的技術(shù)實(shí)現(xiàn)選擇余地。框架是原有的Struts項(xiàng)目和OpenSymphony社區(qū)。Struts框架來說是一個(gè)質(zhì)的提升。雖然Struts2框架提供了與基于原有Struts框架的兼容,但已經(jīng)不是簡(jiǎn)單地對(duì)它的升級(jí)。因?yàn)槟壳暗腟truts2框架與原先的Struts框架有著完全不。同的系統(tǒng)架構(gòu)設(shè)計(jì)和API類庫(kù)。本章為讀者介紹Struts2框架有關(guān)的技術(shù)及具體的實(shí)際應(yīng)。組件類進(jìn)行單元測(cè)試。MVC架構(gòu)模式的要求、模型層和表示層是否會(huì)產(chǎn)生緊密藕合等方面的問題。發(fā)效率、并提高頁(yè)面的可維護(hù)性。象的頁(yè)面表單數(shù)據(jù)訪問、并分離業(yè)務(wù)處理功能實(shí)現(xiàn)和業(yè)務(wù)請(qǐng)求數(shù)據(jù)。統(tǒng)后期的維護(hù)和功能擴(kuò)展、并分離各個(gè)組件之間的緊密關(guān)聯(lián)關(guān)系。但畢竟Struts框架的總體設(shè)計(jì)是在2020年完成的,盡管以后也。步,否則將會(huì)引發(fā)線程安全的問題產(chǎn)生。對(duì)它的單元測(cè)試也就會(huì)依賴于Web容器,盡管可以采用本書第9. 由于Struts框架的ActionForm表單包裝組件是把所有的數(shù)據(jù)都作為String類型進(jìn)行。因此,這將導(dǎo)致在。的資源包的支持和重用。

  

【正文】 中以“ /”產(chǎn)生請(qǐng)求時(shí), Struts2 框架 運(yùn)行時(shí)( Runtime)系統(tǒng)程序 會(huì) 根據(jù)開發(fā)人員在 文件中的 Action 映射集 (Mapping)的配置(請(qǐng)參考 【例 124】中所示的 文件 示例 ),實(shí)例化 類,并調(diào)用其中的 execute 方法。當(dāng)然,開發(fā)人員也可以通過下面的方法改變這種默認(rèn)的方法調(diào)用:在楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 13/16 頁(yè) 文件中利用 action標(biāo)簽 指明目標(biāo)調(diào)用的方法(請(qǐng)參考 【例 124】中所示的 文件 示例 ),而在產(chǎn)生 HTTP 請(qǐng)求訪問該 Action 組件時(shí), 只需要 在請(qǐng)求的 目標(biāo)Action 名后加上“ !xxx”(其中的 xxx 為目標(biāo)方法的名稱)。 也就是用戶可以 采用 方式直接對(duì)名稱為 selfStruts2Action 的 Action 組件 產(chǎn)生 HTTP 請(qǐng)求,此時(shí) Struts2 框架運(yùn)行時(shí)系統(tǒng)將調(diào)用在 文件中的名稱為 selfStruts2Action 的 Action 映射集配置標(biāo)簽中的“ method”屬性所指示的目標(biāo)方法(本示例為 【例 122】中的 doSayHello 方法 ) ; 當(dāng) 然 , 用 戶 也 可 以 的方式 產(chǎn)生 HTTP 請(qǐng)求,此時(shí) Struts2 框架 運(yùn)行時(shí)系統(tǒng)將對(duì)在 文件中的名稱為firstStruts2Action 的 Action 映射集配置標(biāo)簽中的“ class”屬性所指示的目標(biāo) Action組件調(diào)用,但目標(biāo)方法則由請(qǐng)求中的“ !doSayHello” 字符串 決定(本示例同樣為 【例 122】中的 doSayHello 方法)。 Struts 2 框架 Action 組件類是線程安全的 Struts 框架中的 Action 組件 類是單對(duì)象實(shí)例多線程模式,因此開發(fā)人員在具體編程實(shí)現(xiàn)時(shí)必須自行要保證是線程安全的 Action 組件 類。單例策略形式的 Action 組件 類限制了Struts 框架中的 Action 類的功能發(fā)揮,并且要求開發(fā)人員在編程開發(fā)實(shí)現(xiàn)時(shí)特別要小心—— 對(duì)共享資源的訪問必須保證是線程安全的或同步的。 而 Struts2 框架中的 Action 組件 類是針對(duì)每一個(gè)請(qǐng)求產(chǎn)生出一個(gè)對(duì)象實(shí)例,因此沒有線程安全的問題存在( Servlet 容器給每個(gè)請(qǐng)求產(chǎn)生許多可丟棄的對(duì)象,并且不會(huì)導(dǎo)致性能和垃圾回收問題的出現(xiàn))。 Struts 2 框架 Action 組件類的單元 測(cè)性技術(shù) 由于原有的 Struts 框架 Action 組件類 的 execute 方法暴露了 Servlet API(比如HttpServletRequest 和 HttpServletResponse 等類),因此對(duì)它們的單元 測(cè)試要依賴于Servlet 容器。 當(dāng)然讀者可以采用本書 第 9 章 “ 基于 Struts 框架的單元測(cè)試技術(shù) ”中所介紹的 Struts TestCase 框架 進(jìn)行 單元 測(cè)試 ,但也只能應(yīng)用模擬方式 而不是真正的環(huán)境下的楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 14/16 頁(yè) 測(cè)試 。 而 Struts 2 框架 Action 組件類 由于本質(zhì)上是一個(gè) POJO 的 JavaBean 組件類,因此對(duì)它們的單元 測(cè)性 可以象對(duì)其它 JavaBean 類一樣的方式進(jìn)行 單元測(cè)試 。 可以通過 簡(jiǎn)單的對(duì)象 初始化、設(shè)置 請(qǐng)求的 屬性 參數(shù) 、調(diào)用 被 測(cè)試 的目標(biāo) 方法來 實(shí)施 單元測(cè)試 的過程 , 并且借助于“依賴注入” 技術(shù)的 支持 。最終 也 將 使 單元測(cè)試 更容易 地實(shí)施 。 在 Action 組件類中訪問 Servlet API 在應(yīng)用系統(tǒng)開發(fā)中,可能需要在 Action 組件類中訪問 Servlet API 或者由容器所創(chuàng)建的對(duì)象,比如 request( HttpServletRequest 對(duì)象) 、 response( HttpServletResponse對(duì)象) 或 session( HttpSession 對(duì)象) 等。由于 Struts 2 框架 中的 Action 組件類為 POJO類型的 JavaBean 組件,因此無法像 原有 Struts 框架中的 Action 組件 execute 方法通過參數(shù)引入它們。在 Struts 2 框架 中 可以有兩種方式獲得這些 Servlet 容器對(duì)象:非 IoC(控制反轉(zhuǎn) Inversion of Control)方式和 IoC 方式。 1)非控制反轉(zhuǎn) IoC 的 方 式 利用 類中的靜態(tài)方法 getContext()獲取當(dāng)前 Action 的上下文對(duì)象,或者利用 幫助類中的 getXXX 方法快捷地獲得所需要的目標(biāo) Servlet 容器對(duì)象。 ServletActionContext ( ) 類直接繼承了ActionContext 類 , 并 提供了直接與 J22EE Servlet 相關(guān)對(duì)象訪問的功能 , 它可以取得的對(duì)象有 : 1) : HTTP Servlet 請(qǐng)求對(duì)象 2) 。: HTTP Servlet 響 應(yīng)對(duì)象 3) : Servlet 上下文信息對(duì)象 4) : Servlet 配置對(duì)象 5) : Http 頁(yè)面上下文對(duì)象 如下面的代碼片段分別獲得 request、 response 和 session 等對(duì)象。 HttpServletRequest request = ()。 HttpServletResponse response = ()。 HttpSession session = ()。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 15/16 頁(yè) 也可以通過 ().getSession()獲取或添加 session 范圍 內(nèi) 的對(duì)象屬性。 2) 控制反轉(zhuǎn) IoC 的方式 要使用 IoC 方式,開發(fā)人員必須在 Action 組件中實(shí)現(xiàn)有關(guān)的接口以告訴 IoC 容器希望獲得哪個(gè) Servlet 容器對(duì)象。比如 ,如果需要在 Action 組件中獲得 request 對(duì)象,則該Action 組件類必須 接口;而如果在 Action 組 件 中 獲 得 response 對(duì) 象 , 則 該 Action 組 件 類 必 須. ServletResponseAware 接口;當(dāng)然,如果在 Action組 件 中 獲 得 session 對(duì) 象 , 則 該 Action 組 件 類 必 須 接口。 【例 123】是在【例 122】所示的 FirstStruts2Action 類 代碼的基礎(chǔ)上進(jìn)行擴(kuò)展的,并實(shí)現(xiàn)了上面所說明的各個(gè)接口 ,請(qǐng)注意其中的黑體部分的代碼定義 。 【例 123】 利用 IoC 方式在 Action 組件類 中獲得 Servlet 容器對(duì)象 的 代碼 示例 package 。 import .*。 import .*。 import .*。 public class FirstStruts2Action extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware{ private Map sessionAtt。 private HttpServletRequest request。 private HttpServletResponse response。 publicvoid setSession(Map sessionAtt) { = sessionAtt。 } publicvoid setServletRequest(HttpServletRequest request) { = request。 } publicvoid setServletResponse(HttpServletResponse response) { = response。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 16/16 頁(yè) } // 。其它的成員屬性及方法定義在此省略,請(qǐng)參考 【例 122】 中對(duì)應(yīng)的代碼 }
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1