struts1.x技術(shù)課程講解_第1頁(yè)
struts1.x技術(shù)課程講解_第2頁(yè)
struts1.x技術(shù)課程講解_第3頁(yè)
struts1.x技術(shù)課程講解_第4頁(yè)
struts1.x技術(shù)課程講解_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程目標(biāo):使學(xué)員掌握并熟練使用框架進(jìn)行企業(yè)項(xiàng)目開(kāi)發(fā)學(xué)員要求:1).學(xué)員必須具備jsp/servlet技術(shù)知識(shí)2).學(xué)員具備java基礎(chǔ)知識(shí)3).學(xué)員具備數(shù)據(jù)庫(kù)知識(shí)以及jdbc相關(guān)知識(shí)1 第一章 struts框架編程準(zhǔn)備知識(shí)講解1.什么是struts1.x2.為什么需要struts3.在myeclipse中手動(dòng)搭建struts1.x開(kāi)發(fā)環(huán)境4.開(kāi)發(fā)struts1.x的第一個(gè)程序5.struts1.x的工作原理講解6.使用IDE工具搭建struts1.x開(kāi)發(fā)環(huán)境21.什么是struts1.x所謂框架就是提供了一組統(tǒng)一的接口和編程方式的可以重用組件,同時(shí)我們可以在框架中擴(kuò)充我們自己的特定邏輯 .St

2、ruts 是一組相互協(xié)作的類(lèi)、servlet 和 JSP 標(biāo)記組成的一個(gè)可重用的 MVC 2 設(shè)計(jì)。 這個(gè)定義表示 Struts 是一個(gè)框架,而不是一個(gè)庫(kù),但 Struts 也包含了豐富的標(biāo)記庫(kù)和獨(dú)立于該框架工作的實(shí)用程序類(lèi)。3MVC設(shè)計(jì)模式 將應(yīng)用程序分為3個(gè)部分:模型 Model,視圖View,控制器Controller; 模型組件:負(fù)責(zé)業(yè)務(wù)邏輯; 模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)。有時(shí)它包含的唯一功能就是狀態(tài)。它對(duì)視圖或控制器一無(wú)所知。 視圖組件:負(fù)責(zé)表示業(yè)務(wù)范圍的視圖; 視圖提供模型的表示。它是應(yīng)用程序的 外觀(guān)。視圖可以訪(fǎng)問(wèn)模型的讀方法,但不能訪(fǎng)問(wèn)寫(xiě)方法。此外,它對(duì)

3、控制器一無(wú)所知。當(dāng)更改模型時(shí),視圖應(yīng)得到通知。 控制器組件:負(fù)責(zé)控制用戶(hù)輸入的流和狀態(tài); 控制器對(duì)用戶(hù)的輸入作出反應(yīng)。它創(chuàng)建并設(shè)置模型。 Struts,它是使用 servlet 和 JavaServer Pages 技術(shù)的一種MVC 實(shí)現(xiàn); Struts,Apache組織的一個(gè)項(xiàng)目,MVC 的一種開(kāi)放源碼實(shí)現(xiàn) 45 1.Client browser(客戶(hù)瀏覽器)來(lái)自客戶(hù)瀏覽器的每個(gè) HTTP 請(qǐng)求創(chuàng)建一個(gè)事件。Web 容器將用一個(gè) HTTP 響應(yīng)作出響應(yīng)。2.Controller(控制器)控制器接收來(lái)自瀏覽器的請(qǐng)求,并決定將這個(gè)請(qǐng)求發(fā)往何處, 就 Struts 而言,控制器是以 servlet

4、 實(shí)現(xiàn)的一個(gè)命令設(shè)計(jì)模式。 struts-config.xml 文件配置控制器命令。3.業(yè)務(wù)邏輯 業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。 就 Struts 而言,這是通過(guò)作為實(shí)際業(yè)務(wù)邏輯“瘦”包裝的 Action 類(lèi)完成的。4.Model(模型)的狀態(tài) 模型表示應(yīng)用程序的狀態(tài)。業(yè)務(wù)對(duì)象更新應(yīng)用程序的狀態(tài)。 ActionForm bean 在會(huì)話(huà)級(jí)或請(qǐng)求級(jí)表示模型的狀態(tài),而不是在持久級(jí)。 JSP 文件使用 JSP 標(biāo)記讀取來(lái)自 ActionForm bean 的信息。65,View(視圖) 視圖就是一個(gè) JSP 文件。其中沒(méi)有流程邏輯,沒(méi)有業(yè)務(wù)邏輯,也沒(méi)有模型信息 - 只有標(biāo)記。 標(biāo)

5、記是使 Struts 有別于其他框架(如 Velocity)的因素之一 72.為什么需要struts83.在myeclipse中手動(dòng)搭建struts1.x開(kāi)發(fā)環(huán)境94.開(kāi)發(fā)struts1.x的第一個(gè)程序105.struts1.x的工作原理講解116.使用IDE工具搭建struts1.x開(kāi)發(fā)環(huán)境12 第二章 struts控制器以及相關(guān)類(lèi)講解1.Action講解2.DispatchAction講解3.MappingDispatchAction講解4.LookUpDispatchAction講解5.理解struts中常用的幾個(gè)類(lèi) 1).ActionServlet理解 2).ActionMapping

6、理解 3).ActionForword理解 4).ActionMessage理解 5).ActionErrors 理解13Struts中的Controller(控制器) 命令設(shè)計(jì)模式的實(shí)現(xiàn): Struts 的控制器將事件(事件通常是 HTTP post)映射到類(lèi)的一個(gè) servlet。ActionServlet (Command) 創(chuàng)建并使用 Action 、 ActionForm 和 ActionForward . 通過(guò)struts-config.xml 文件配置該 Command.從而擴(kuò)展 Action 和 ActionForm 來(lái)解決特定的問(wèn)題。 可以通過(guò)擴(kuò)展 ActionServlet

7、 來(lái)添加 Command 功能。 14在Struts框架中控制器組件由三個(gè)部分構(gòu)成: 1,消息控制模塊;用戶(hù)所有的提交請(qǐng)求都發(fā)往消息控制模塊,在由消息總線(xiàn)模塊根據(jù)視圖映射模塊找到消息處理模塊來(lái)執(zhí)行處理邏輯。 消息控制模塊接收所有用戶(hù)的請(qǐng)求,并根據(jù)請(qǐng)求視圖找到處理。 Strtus中通過(guò)ActionServlet和RequestProcessor類(lèi)來(lái)完成。 2,消息處理模塊,該模塊執(zhí)行該消息的邏輯處理,因此通常由用戶(hù)擴(kuò)展實(shí)現(xiàn)。Struts中通過(guò)Action類(lèi)來(lái)實(shí)現(xiàn)。 3,視圖映射模塊, 控制器邏輯和視圖邏輯之間的結(jié)合是通過(guò)配置模塊和配置文件建立其的鏈接。 Struts中配置模塊通過(guò)ModuleCo

8、nfig類(lèi)來(lái)完成,而配置文件由struts-config.xml文件提供。15Action講解:Action是所以控制器類(lèi)的父類(lèi)自身繼承Object類(lèi),用戶(hù)定的控制器(servlet)定義必須繼承Action ,該類(lèi)是初學(xué)struts的入門(mén)類(lèi)。1)層次結(jié)構(gòu)java.lang.Object org.apache.struts.action.Action 2)Struts.config.xml的配置163)struts-config.xml文件中的配置jsp頁(yè)面請(qǐng)求的具體方法名稱(chēng) 2.DispatchAction講解1)DispatchAction它是Action的一個(gè)子類(lèi),用戶(hù)定的控制器(ser

9、vlet)定義必須繼承DispatchAction。2)層次結(jié)構(gòu):java.lang.Object org.apache.struts.action.Action org.apache.struts.actions.BaseAction org.apache.struts.actions.DispatchAction 174.Jsp頁(yè)面的配置寫(xiě)法form action=loginAction.do?method=login method=post username: password: 183)Struts-config.xml文件里的配置194)jsp的寫(xiě)法測(cè)試:MappingDispatc

10、hActiona href=saveBaseAction.do測(cè)試save方法a href=findListBaseAction.do測(cè)試findList方法a href=findByIdBaseAction.do測(cè)試findById方法a href=deleteBaseAction.do測(cè)試delete方法a href=updateBaseAction.do測(cè)試update方法203.MappingDispatchAction講解1)定義:MappingDispatchAction它是DispatchAction的一個(gè)子類(lèi),用戶(hù)定的控制器(servlet)必須繼承MappingDispatc

11、hAction2)層次結(jié)構(gòu):java.lang.Object org.apache.struts.action.Action org.apache.struts.actions.BaseAction org.apache.struts.actions.DispatchAction org.apache.struts.actions.MappingDispatchAction 214.LookUpDispatchAction講解1)定義:LookupDispatchAction:主要是用來(lái)解決一個(gè)表單上是否可以有多個(gè)按鈕的。2)層次結(jié)構(gòu):java.lang.Object org.apache.s

12、truts.action.Action org.apache.struts.actions.BaseAction org.apache.struts.actions.DispatchAction org.apache.struts.actions.LookupDispatchAction 223.用戶(hù)定義的控制器的寫(xiě)法:public class BaseAction extends LookupDispatchActionpublic Map getKeyMethodMap() Map map=new HashMap();map.put(buttton_save, save);map.put(

13、button_update, update);map.put(button_delete, delete);map.put(button_findWithPage, findWithPage);return map;234.Struts的ApplicationRperties:資源文件的寫(xiě)法:buttton_save=savebutton_update=updatebutton_delete=deletebutton_findWithPage=findWithPage245.Jsp中的寫(xiě)法需要引入struts的標(biāo)簽庫(kù),struts的標(biāo)簽庫(kù)是struts自己做的視圖層,和自己的框架是綁定在一起的

14、,在實(shí)際的開(kāi)發(fā)中用的不是很多,只要是封裝了邏輯判斷標(biāo)簽,基本的html標(biāo)簽,信息標(biāo)簽,后邊會(huì)中點(diǎn)講解幾個(gè)標(biāo)簽的常用方法.25 form action=/baseAction.do method=post 265.理解struts中常用的幾個(gè)類(lèi)1).ActionServlet理解2).ActionMapping理解3).ActionForword理解4).ActionMessage理解5).ActionErrors 理解272829總結(jié)30第三章 Struts開(kāi)發(fā)中常用的幾種數(shù)據(jù)收集類(lèi)講解1 ActionForm講解2 DynaActionForm講解3 struts中數(shù)據(jù)驗(yàn)證講解311 Act

15、ionForm講解1)定義:struts的ActionForm類(lèi)是struts的一個(gè)內(nèi)置類(lèi),作用使用來(lái)收集頁(yè)面上的數(shù)據(jù)的,和struts的標(biāo)簽是一塊稱(chēng)為視圖,用戶(hù)自己定義的數(shù)據(jù)收集類(lèi)必須繼承struts的ActionForm類(lèi)。2)層次關(guān)系:java.lang.Object org.apache.struts.action.ActionForm 323)struts-config.xml中的寫(xiě)法 334)Actioin中的寫(xiě)法:public ActionForward register(ActionMapping mapping, ActionForm form,HttpServletRequ

16、est request, HttpServletResponse response) throws Exception RegisterForm registerForm=(RegisterForm)form;System.out.println(registerForm.getUsername();System.out.println(registerForm.getPassword();System.out.println(registerForm.getCreatTime();System.out.println(registerForm.getEndTime();return null

17、;345)用戶(hù)定義的ActionForm的寫(xiě)法:public class RegisterForm extends ActionFormprivate String username;private String password;private String creatTime;private String endTime;/* * Struts的ActionForm給我們提供的驗(yàn)證方法,后端驗(yàn)證(服務(wù)器端驗(yàn)證), * javascritp前端驗(yàn)證(客戶(hù)端) */35public ActionErrors validate(ActionMapping mapping,HttpServletR

18、equest request) ActionErrors error=new ActionErrors();if(.equals(this.getUsername()|this.getUsername()=null)error.add(username.message, new ActionMessage(username.message);if(.equals(this.getPassword()|this.getPassword()=null)error.add(password.message, new ActionMessage(password.message);if(.equals(this.getCre

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論