版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Struts 技術(shù)介紹,開發(fā)方式介紹 MVC介紹 MVC與Struts架構(gòu) Struts開發(fā)過程 Struts開發(fā)的建議,基于j2ee平臺的軟件開發(fā)方式,Jsp+model的開發(fā)方式 Jsp+servlet+model的開發(fā)方式,Jsp+model的開發(fā)方式,架構(gòu)圖,使用這種架構(gòu)進行應(yīng)用程序的開發(fā),雖然實現(xiàn)了表現(xiàn)層和內(nèi)容的分離,但是他卻要求jsp要處理大量的客戶端請求及流程控制,特別是在復(fù)雜的應(yīng)用程序開發(fā)中,jsp中不可避免將包含大量的腳本語言,這將導(dǎo)致在應(yīng)用程序的開發(fā)過程中很難進行角色的分離。(這種模式適合簡單應(yīng)用程序的開發(fā)),Jsp+servlet+model的開發(fā)模式,框架圖,優(yōu)點 使用
2、這種架構(gòu)進行應(yīng)用程序的開發(fā),利用了servlet和jsp技術(shù)的長處。Jsp主要作用是產(chǎn)生表現(xiàn)層,servlet主要負責(zé)請求處理和jsp使用對象的創(chuàng)建,jsp和servlet的結(jié)合分離出了jsp的處理邏輯,這種開發(fā)模式非常清楚地實現(xiàn)了表現(xiàn)層和內(nèi)容的分離,實現(xiàn)了開發(fā)團隊角色的分離 缺點 1、jsp中仍包括流程邏輯的代碼和業(yè)務(wù)邏輯的代碼。 2、請求的處理轉(zhuǎn)向分散,不易維護。,MVC架構(gòu),MVC的關(guān)鍵是商業(yè)模型的設(shè)計與實現(xiàn)可以獨立于應(yīng)用系統(tǒng)的結(jié)構(gòu)設(shè)計與實現(xiàn)(控制)和界面的設(shè)計與實現(xiàn)(視圖) 應(yīng)用程序按MVC模式劃分為以下部分: 1、 Model: 是真正完成任務(wù)的代碼。包括各種商業(yè)邏輯和保持系統(tǒng)狀態(tài)的
3、組件。包括一組表示應(yīng)用系統(tǒng)商業(yè)邏輯的對象。 2、 View: 即應(yīng)用程序的界面部分,界面部分要求盡量少的包含業(yè)務(wù)邏輯的處理。是用一種向用戶表達信息的具體方式。它能夠給用戶提供一組互相有關(guān)的信息。 3、 Controller: 是應(yīng)用系統(tǒng)處理具體流程和導(dǎo)向的核心部分。它檢查通過界面輸入的信息以及選擇處理輸入信息的模型,把模型對象給出的信息翻譯成視圖可以理解的形式,并且處理系統(tǒng)流程的走向。,MVC與Struts,MVC設(shè)計樣式在Struts中的應(yīng)用 Struts對應(yīng)用程序開發(fā)方式的改變 Struts的工作原理 Struts開發(fā)環(huán)境配置,MVC設(shè)計樣式在Struts中的應(yīng)用,視圖 Struts采用J
4、SP作為MVC的視圖。每一視圖都是采用了定制標(biāo)簽庫的JSP頁面,這些定制標(biāo)簽庫則由Struts Framework提供。全部表單元素都是用定制標(biāo)簽編碼的,所以這些頁面能夠很方便地同控制器交互。每一個表單都通過映射JSP到servlet的請求這一方式指向控制器的特定入口點。 控制器 控制器就是Java servlet,由Struts Framework提供,負責(zé)視圖和模型之間的交互??刂破鞯拿總€入口點都由名為struts-config.xml的配置文件設(shè)置。該文件把來自視圖的請求映射為特定的java類以進行相應(yīng)的處理??刂破鬟€指定下一個視圖的位置。 模型 Java beans就是模型的代表。對進
5、入控制器的每個入口點來說,bean的作用是存儲從視圖獲取的信息,Action類”一種Java類,被指定為對表單輸入進行處理。行動類(action class)實現(xiàn)了業(yè)務(wù)邏輯。,Struts對應(yīng)用程序開發(fā)方式的改變,使用struts的架構(gòu)圖,使用struts前后的比較,Struts的工作原理,Struts組件交互圖,ActionServlet 它為到來的請求url映射到相應(yīng)的actionmapping,創(chuàng)建或找到其實例;actionservlet調(diào)用在actionmapping中聲明的action類,創(chuàng)建并生成相應(yīng)的actionform bean實例。然后把actionform bean傳到ac
6、tion類;actionservlet對action類實例調(diào)用適當(dāng)?shù)膒erform方法,給它傳遞actionform bean,actionmapping,request和response對象;action在其perform方法里將產(chǎn)生處理好的業(yè)務(wù)邏輯的結(jié)果;actionservlet接受從perform方法返回的actionforward,轉(zhuǎn)發(fā)response到由actionforward指定的源 ActionForm 使用ActionForm bean來保存請求的參數(shù),這些bean的屬性名稱與HTTP請求參數(shù)的名稱相對應(yīng),控制器將請求參數(shù)傳遞到ActionForm bean的實例,然后將這
7、個實例傳送到Action類。典型的ActionFrom bean只有屬性的設(shè)置與讀取方法(getXXX),而沒有實現(xiàn)事務(wù)邏輯的方法。只有簡單的輸入檢查邏輯,使用的目的是為了存儲用戶在相關(guān)表單中輸入的最新數(shù)據(jù),以便可以將同一網(wǎng)頁進行再生,同時提供一組錯誤信息,這樣就可以讓用戶修改不正確的輸入數(shù)據(jù)。而真正對數(shù)據(jù)有效性進行檢查的是ACTION類或適當(dāng)?shù)氖聞?wù)邏輯bean。 Action Action 類是業(yè)務(wù)邏輯的一個包裝。Action 類的用途是將 HttpServletRequest 轉(zhuǎn)換為業(yè)務(wù)邏輯, 有EJB或JavaBean部分處理業(yè)務(wù)邏輯;Action控制通過ActionForward控制應(yīng)
8、用程序流程。,Struts開發(fā)環(huán)境配置,Struts工具包的下載 可以在 /struts/下載最新的struts開發(fā)工具包,目前的最新版本為 Release Notes 1.1-b2,建議使用比較穩(wěn)定的 Release Notes 1.0.2 進行開發(fā)。 Struts開發(fā)配置 1、將Struts目錄的lib/struts.jar拷貝到web應(yīng)用的WEB-INF/lib目錄。 2、將Struts目錄的lib/struts*.tld拷貝到web應(yīng)用的WEB-INF目錄。 3、修改Web應(yīng)用目錄的WEB-INF/web.xml文件,增加一個元素來定義c
9、ontroller servlet, 增加一個元素來建立URI請求與servlet的對應(yīng)關(guān)系。 4、修改Web應(yīng)用目錄的WEB-INF/web.xml文件,使之包含tag庫的定義。 5、創(chuàng)建一個WEB-INF/struts-config.xml文件來定義你的web應(yīng)用的action映射關(guān)系。 6、拷貝Aperies文件到WEB-INF/classes目錄下。 應(yīng)用程序結(jié)構(gòu),WEB-INF,Jsp,classes,Lib,taglib,images,Apertiess,Struts.jar,Struts_*.tld,Custom.tld,W
10、eb.xml,Web.xml action org.apache.struts.action.ActionServlet config /WEB-INF/taglib/struts-config.xml application Application action *.do /struts-bean.tld / /taglib /struts-bean.tld /struts-html.tld /taglib/struts-html.tld ,Aperties search.pageTitle=Customer search search.title=Search
11、a customer by ID: search.enterID=Enter customer ID: error.noCustomerFound=No Customer found for ID: 0 error.customerID.required=You must specify an ID to search for a Customer ! index.search=search customers index.title=Title of first Struts Example Struts-config.xml ,Struts提供的taglib在jsp中的應(yīng)用 ,Struts
12、開發(fā)過程,設(shè)計應(yīng)用程序的流程,確定客戶要提交的FORM屬性,屬性的驗證要求,應(yīng)用程序要處理的業(yè)務(wù)邏輯以及流程要跳轉(zhuǎn)的界面。根據(jù)設(shè)計按角色分配工作。 業(yè)務(wù)邏輯層的開發(fā) 根據(jù)業(yè)務(wù)要求,開發(fā)人員根據(jù)客戶的請求,通過與數(shù)據(jù)源或企業(yè)應(yīng)用層的交互,完成業(yè)務(wù)處理,并把處理結(jié)果返回到業(yè)務(wù)邏輯的調(diào)用層。包括使用JavaBean或Ejb封裝業(yè)務(wù)邏輯,以JavaBean的形式把處理結(jié)果返回到調(diào)用層。主要完成Ejb或JavaBean的開發(fā)。 控制層的開發(fā) 完成客戶請求到業(yè)務(wù)邏輯的轉(zhuǎn)化,錯誤的驗證,流程的轉(zhuǎn)向等工作。 1、創(chuàng)建ActionForm的子類,接受客戶端的Form屬性,完成Form屬性屬性值的驗證。 2、配置struts-config.xml,完成form-bean和action的配置。 3、創(chuàng)建Action的子類,在perform中處理客戶端請求和業(yè)務(wù)邏輯組件的調(diào)用,把響應(yīng)結(jié)果通過 ActionForward提交給用戶。 表現(xiàn)層的開發(fā) 完成業(yè)務(wù)信息的關(guān)聯(lián)表現(xiàn)。主要使用jsp和tablib完成表現(xiàn)層邏輯和表現(xiàn)層數(shù)據(jù)的顯示。 表現(xiàn)層的開發(fā) 完成上述配置和開發(fā)后,打包成war文件即可配置到應(yīng)用服務(wù)器上。,Struts
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版綠色包裝材料研發(fā)及推廣合同2篇
- 2025年度石料廠產(chǎn)品質(zhì)量安全承包管理合同范本2篇
- 二零二五年度城市綜合體建筑設(shè)計合同3篇
- 2025年度高新技術(shù)企業(yè)知識產(chǎn)權(quán)質(zhì)押擔(dān)保合同范本3篇
- 二零二五版農(nóng)村小微企業(yè)發(fā)展借款合同解析論文3篇
- 二零二五年生物制藥工藝技術(shù)聘用合同2篇
- 二零二五版股權(quán)代持協(xié)議簽訂前的合同談判注意事項3篇
- 二零二五年度建筑工程安全施工環(huán)境保護監(jiān)理合同3篇
- 二零二五版購房合同違約責(zé)任條款解析3篇
- 2025年度緊急物資承攬運輸合同3篇
- 停車場施工施工組織設(shè)計方案
- GB/T 37238-2018篡改(污損)文件鑒定技術(shù)規(guī)范
- 普通高中地理課程標(biāo)準(zhǔn)簡介(湘教版)
- 河道治理工程監(jiān)理通知單、回復(fù)單范本
- 超分子化學(xué)簡介課件
- 高二下學(xué)期英語閱讀提升練習(xí)(一)
- 易制爆化學(xué)品合法用途說明
- 【PPT】壓力性損傷預(yù)防敷料選擇和剪裁技巧
- 大氣喜慶迎新元旦晚會PPT背景
- DB13(J)∕T 242-2019 鋼絲網(wǎng)架復(fù)合保溫板應(yīng)用技術(shù)規(guī)程
- 心電圖中的pan-tompkins算法介紹
評論
0/150
提交評論