版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Struts 技術(shù)介紹,開發(fā)方式介紹 MVC介紹 MVC與Struts架構(gòu) Struts開發(fā)過程 Struts開發(fā)的建議,基于j2ee平臺(tái)的軟件開發(fā)方式,Jsp+model的開發(fā)方式 Jsp+servlet+model的開發(fā)方式,Jsp+model的開發(fā)方式,架構(gòu)圖,使用這種架構(gòu)進(jìn)行應(yīng)用程序的開發(fā),雖然實(shí)現(xiàn)了表現(xiàn)層和內(nèi)容的分離,但是他卻要求jsp要處理大量的客戶端請(qǐng)求及流程控制,特別是在復(fù)雜的應(yīng)用程序開發(fā)中,jsp中不可避免將包含大量的腳本語言,這將導(dǎo)致在應(yīng)用程序的開發(fā)過程中很難進(jìn)行角色的分離。(這種模式適合簡(jiǎn)單應(yīng)用程序的開發(fā)),Jsp+servlet+model的開發(fā)模式,框架圖,優(yōu)點(diǎn) 使用
2、這種架構(gòu)進(jìn)行應(yīng)用程序的開發(fā),利用了servlet和jsp技術(shù)的長(zhǎng)處。Jsp主要作用是產(chǎn)生表現(xiàn)層,servlet主要負(fù)責(zé)請(qǐng)求處理和jsp使用對(duì)象的創(chuàng)建,jsp和servlet的結(jié)合分離出了jsp的處理邏輯,這種開發(fā)模式非常清楚地實(shí)現(xiàn)了表現(xiàn)層和內(nèi)容的分離,實(shí)現(xiàn)了開發(fā)團(tuán)隊(duì)角色的分離 缺點(diǎn) 1、jsp中仍包括流程邏輯的代碼和業(yè)務(wù)邏輯的代碼。 2、請(qǐng)求的處理轉(zhuǎn)向分散,不易維護(hù)。,MVC架構(gòu),MVC的關(guān)鍵是商業(yè)模型的設(shè)計(jì)與實(shí)現(xiàn)可以獨(dú)立于應(yīng)用系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)(控制)和界面的設(shè)計(jì)與實(shí)現(xiàn)(視圖) 應(yīng)用程序按MVC模式劃分為以下部分: 1、 Model: 是真正完成任務(wù)的代碼。包括各種商業(yè)邏輯和保持系統(tǒng)狀態(tài)的
3、組件。包括一組表示應(yīng)用系統(tǒng)商業(yè)邏輯的對(duì)象。 2、 View: 即應(yīng)用程序的界面部分,界面部分要求盡量少的包含業(yè)務(wù)邏輯的處理。是用一種向用戶表達(dá)信息的具體方式。它能夠給用戶提供一組互相有關(guān)的信息。 3、 Controller: 是應(yīng)用系統(tǒng)處理具體流程和導(dǎo)向的核心部分。它檢查通過界面輸入的信息以及選擇處理輸入信息的模型,把模型對(duì)象給出的信息翻譯成視圖可以理解的形式,并且處理系統(tǒng)流程的走向。,MVC與Struts,MVC設(shè)計(jì)樣式在Struts中的應(yīng)用 Struts對(duì)應(yīng)用程序開發(fā)方式的改變 Struts的工作原理 Struts開發(fā)環(huán)境配置,MVC設(shè)計(jì)樣式在Struts中的應(yīng)用,視圖 Struts采用J
4、SP作為MVC的視圖。每一視圖都是采用了定制標(biāo)簽庫(kù)的JSP頁面,這些定制標(biāo)簽庫(kù)則由Struts Framework提供。全部表單元素都是用定制標(biāo)簽編碼的,所以這些頁面能夠很方便地同控制器交互。每一個(gè)表單都通過映射JSP到servlet的請(qǐng)求這一方式指向控制器的特定入口點(diǎn)。 控制器 控制器就是Java servlet,由Struts Framework提供,負(fù)責(zé)視圖和模型之間的交互??刂破鞯拿總€(gè)入口點(diǎn)都由名為struts-config.xml的配置文件設(shè)置。該文件把來自視圖的請(qǐng)求映射為特定的java類以進(jìn)行相應(yīng)的處理??刂破鬟€指定下一個(gè)視圖的位置。 模型 Java beans就是模型的代表。對(duì)進(jìn)
5、入控制器的每個(gè)入口點(diǎn)來說,bean的作用是存儲(chǔ)從視圖獲取的信息,Action類”一種Java類,被指定為對(duì)表單輸入進(jìn)行處理。行動(dòng)類(action class)實(shí)現(xiàn)了業(yè)務(wù)邏輯。,Struts對(duì)應(yīng)用程序開發(fā)方式的改變,使用struts的架構(gòu)圖,使用struts前后的比較,Struts的工作原理,Struts組件交互圖,ActionServlet 它為到來的請(qǐng)求url映射到相應(yīng)的actionmapping,創(chuàng)建或找到其實(shí)例;actionservlet調(diào)用在actionmapping中聲明的action類,創(chuàng)建并生成相應(yīng)的actionform bean實(shí)例。然后把a(bǔ)ctionform bean傳到ac
6、tion類;actionservlet對(duì)action類實(shí)例調(diào)用適當(dāng)?shù)膒erform方法,給它傳遞actionform bean,actionmapping,request和response對(duì)象;action在其perform方法里將產(chǎn)生處理好的業(yè)務(wù)邏輯的結(jié)果;actionservlet接受從perform方法返回的actionforward,轉(zhuǎn)發(fā)response到由actionforward指定的源 ActionForm 使用ActionForm bean來保存請(qǐng)求的參數(shù),這些bean的屬性名稱與HTTP請(qǐng)求參數(shù)的名稱相對(duì)應(yīng),控制器將請(qǐng)求參數(shù)傳遞到ActionForm bean的實(shí)例,然后將這
7、個(gè)實(shí)例傳送到Action類。典型的ActionFrom bean只有屬性的設(shè)置與讀取方法(getXXX),而沒有實(shí)現(xiàn)事務(wù)邏輯的方法。只有簡(jiǎn)單的輸入檢查邏輯,使用的目的是為了存儲(chǔ)用戶在相關(guān)表單中輸入的最新數(shù)據(jù),以便可以將同一網(wǎng)頁進(jìn)行再生,同時(shí)提供一組錯(cuò)誤信息,這樣就可以讓用戶修改不正確的輸入數(shù)據(jù)。而真正對(duì)數(shù)據(jù)有效性進(jìn)行檢查的是ACTION類或適當(dāng)?shù)氖聞?wù)邏輯bean。 Action Action 類是業(yè)務(wù)邏輯的一個(gè)包裝。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 進(jìn)行開發(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文件,增加一個(gè)元素來定義c
9、ontroller servlet, 增加一個(gè)元素來建立URI請(qǐng)求與servlet的對(duì)應(yīng)關(guān)系。 4、修改Web應(yīng)用目錄的WEB-INF/web.xml文件,使之包含tag庫(kù)的定義。 5、創(chuàng)建一個(gè)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è)計(jì)應(yīng)用程序的流程,確定客戶要提交的FORM屬性,屬性的驗(yàn)證要求,應(yīng)用程序要處理的業(yè)務(wù)邏輯以及流程要跳轉(zhuǎn)的界面。根據(jù)設(shè)計(jì)按角色分配工作。 業(yè)務(wù)邏輯層的開發(fā) 根據(jù)業(yè)務(wù)要求,開發(fā)人員根據(jù)客戶的請(qǐng)求,通過與數(shù)據(jù)源或企業(yè)應(yīng)用層的交互,完成業(yè)務(wù)處理,并把處理結(jié)果返回到業(yè)務(wù)邏輯的調(diào)用層。包括使用JavaBean或Ejb封裝業(yè)務(wù)邏輯,以JavaBean的形式把處理結(jié)果返回到調(diào)用層。主要完成Ejb或JavaBean的開發(fā)。 控制層的開發(fā) 完成客戶請(qǐng)求到業(yè)務(wù)邏輯的轉(zhuǎn)化,錯(cuò)誤的驗(yàn)證,流程的轉(zhuǎn)向等工作。 1、創(chuàng)建ActionForm的子類,接受客戶端的Form屬性,完成Form屬性屬性值的驗(yàn)證。 2、配置struts-config.xml,完成form-bean和action的配置。 3、創(chuàng)建Action的子類,在perform中處理客戶端請(qǐng)求和業(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年互聯(lián)網(wǎng)+內(nèi)資股東股權(quán)投資合同
- 二零二五版智能門禁系統(tǒng)與電梯聯(lián)動(dòng)工程合同3篇
- 2025年度互聯(lián)網(wǎng)企業(yè)程序員聘用合同模板
- 二零二五版環(huán)保節(jié)能設(shè)備內(nèi)部股東全部股權(quán)轉(zhuǎn)讓與產(chǎn)業(yè)升級(jí)合同3篇
- 2025年高速公路收費(fèi)站車牌通行費(fèi)用合同
- 二零二五年度一手房銷售顧問客戶關(guān)系管理與職責(zé)合同3篇
- 2025年度個(gè)人抵押車借款保險(xiǎn)配套合同協(xié)議2篇
- 2025年度跨境電商財(cái)務(wù)合規(guī)代理合同3篇
- 二零二五年度出口合同履約環(huán)節(jié)的供應(yīng)鏈金融支持合同4篇
- 二零二五年度民房買賣合同解除條件合同4篇
- 人教版物理八年級(jí)下冊(cè) 專項(xiàng)訓(xùn)練卷 (一)力、運(yùn)動(dòng)和力(含答案)
- 山東省房屋市政工程安全監(jiān)督機(jī)構(gòu)人員業(yè)務(wù)能力考試題庫(kù)-中(多選題)
- 《七律二首 送瘟神》教案- 2023-2024學(xué)年高教版(2023)中職語文職業(yè)模塊
- 2024年中考語文滿分作文6篇(含題目)
- 北師大版 2024-2025學(xué)年四年級(jí)數(shù)學(xué)上冊(cè)典型例題系列第三單元:行程問題“拓展型”專項(xiàng)練習(xí)(原卷版+解析)
- 2023年譯林版英語五年級(jí)下冊(cè)Units-1-2單元測(cè)試卷-含答案
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊(cè)
- 施工管理中的文檔管理方法與要求
- DL∕T 547-2020 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 種子輪投資協(xié)議
- 執(zhí)行依據(jù)主文范文(通用4篇)
評(píng)論
0/150
提交評(píng)論