




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Struts2基礎(chǔ)第三單元 Struts2.0框架課程體系課程體系圖學(xué)完本門(mén)課程后,你能夠:掌握Struts2的原理使用Struts2構(gòu)建Web項(xiàng)目使用Struts2實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)掌握Struts2攔截器使用Struts2實(shí)現(xiàn)AJAX本門(mén)課程目標(biāo)課程項(xiàng)目展示租房管理系統(tǒng)任務(wù)1:搭建Struts2開(kāi)發(fā)環(huán)境任務(wù)2:使用Struts2輸出“Hello Struts”任務(wù)3:簡(jiǎn)單實(shí)現(xiàn)租房管理系統(tǒng)的用戶(hù)登錄任務(wù)4:調(diào)用添加房屋信息的業(yè)務(wù)方法本課任務(wù)學(xué)完本次課程后,你能夠:掌握搭建Struts2開(kāi)發(fā)環(huán)境掌握創(chuàng)建Action掌握Action接收參數(shù)的方式掌握Action方法的調(diào)用本課目標(biāo)搭建開(kāi)發(fā)環(huán)境 Stru
2、ts2是基于MVC的Web應(yīng)用框架Struts2=Struts1的知名度和市場(chǎng)+WebWork的技術(shù)實(shí)現(xiàn)MVC模式,結(jié)構(gòu)清晰豐富的標(biāo)簽(tag)通過(guò)配置文件頁(yè)面導(dǎo)航,便于后期維護(hù)與Servlet API松耦合,便于測(cè)試 演示示例:搭建Struts2開(kāi)發(fā)環(huán)境Struts2獲取 Struts-2.3.16.3-all.zipStruts2主要目錄小結(jié)2-1apps :該文件夾下包含了基于Struts2的示例應(yīng)用docs:該文件夾下包含了Struts2的相關(guān)文檔,包括Struts2的快速入門(mén)、Struts2的文檔以及API文檔等內(nèi)容lib :該文件夾下包含了Struts2框架的核心類(lèi)庫(kù),以及Stru
3、ts2的第三方插件類(lèi)庫(kù)src :該文件夾下包含了Struts2框架的全部源代碼Struts2搭建所需jar包小結(jié)2-2commons-fileupload-1.3.1.jar:Struts文件的上傳和下載commons-io-2.2.jar:文件讀取commons-lang3-3.1.jar:為java.lang包提供擴(kuò)展freemarker-2.3.19.jar:FreeMarker是一個(gè)模板引擎,一個(gè)基于模板生成文本輸出的通用工具ognl-3.0.6.jar:支持ognl表達(dá)式j(luò)avassist-3.11.0.GA.jar:分析、編輯和創(chuàng)建JAVA字節(jié)碼的類(lèi)庫(kù)struts2-core-2.
4、3.16.3.jar:Struts2的核心包xwork-core-2.3.16.3.jar:xwork的核心包asm-*.jar 類(lèi)似javassitslog4j-1.2.17.jar 日志類(lèi)庫(kù)課堂練習(xí)需求說(shuō)明解壓Struts-2.3.16.2-all.zip,并使用其中的示例項(xiàng)目資源,搭建Struts2環(huán)境實(shí)現(xiàn)思路創(chuàng)建Web項(xiàng)目,引入Struts2項(xiàng)目所需jar包修改web.xml配置struts.xml完成時(shí)間:10分鐘共性問(wèn)題集中講解需求說(shuō)明使用Struts2輸出“Hello Struts”第一個(gè)Struts2應(yīng)用演示 演示示例:使用Struts 2輸出”Hello Struts”課堂練
5、習(xí)需求說(shuō)明使用Struts2輸出“Hello Struts”實(shí)現(xiàn)思路修改struts.xml配置以及創(chuàng)建helloStruts.jsp頁(yè)面完成時(shí)間:10分鐘共性問(wèn)題集中講解Struts2流程分析web.xmlstruts.xml創(chuàng)建Action普通的Java類(lèi),編寫(xiě)public String execute()方法實(shí)現(xiàn)Action接口,重寫(xiě)execute()方法繼承ActionSupport類(lèi),重寫(xiě)execute()方法創(chuàng)建Action需求說(shuō)明使用Struts2的Action輸出“Hello Struts”實(shí)現(xiàn)思路三種方式創(chuàng)建Action類(lèi)修改struts.xml的添加class屬性升級(jí)第一個(gè)
6、Struts2應(yīng)用演示 演示示例:使用Action輸出”Hello Struts”Struts2流程再分析web.xmlstruts.xml 演示示例:查看action的默認(rèn)class值課堂練習(xí)需求說(shuō)明創(chuàng)建Struts2的Action輸出“Hello Struts”實(shí)現(xiàn)思路繼承ActionSupport類(lèi),實(shí)現(xiàn)execute()方法修改struts.xml的添加class屬性完成時(shí)間:10分鐘共性問(wèn)題集中講解Struts2基于MVC的Web應(yīng)用框架將請(qǐng)求和展現(xiàn)分開(kāi)Struts2與MVCM(模型層)應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)V(視圖層)應(yīng)用程序的輸出頁(yè)面或者界面比如:JSP、HTMLC(控制層
7、)協(xié)調(diào)模型和視圖比如:ServletStruts2基于MVC的Web應(yīng)用框架將請(qǐng)求和展現(xiàn)分開(kāi)Struts2與MVCM(模型層)應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)V(視圖層)應(yīng)用程序的輸出頁(yè)面或者界面比如:JSP、HTMLC(控制層)核心控制器:StrutsPrepareAndExecuteFilter業(yè)務(wù)控制器:ActionAction能做什么控制業(yè)務(wù)邏輯如果業(yè)務(wù)邏輯很復(fù)雜,可以把業(yè)務(wù)邏輯構(gòu)建為業(yè)務(wù)類(lèi),在A(yíng)ction中調(diào)用業(yè)務(wù)類(lèi)返回結(jié)果字符串方便的處理數(shù)據(jù)比如:Action中以屬性方式接收用戶(hù)數(shù)據(jù)Action作用需求說(shuō)明以Action中定義屬性的方式接收用戶(hù)登錄信息,簡(jiǎn)單實(shí)現(xiàn)租房管理系統(tǒng)的用戶(hù)登錄功
8、能,并在登錄成功頁(yè)面顯示用戶(hù)相關(guān)信息簡(jiǎn)單實(shí)現(xiàn)登錄功能演示 演示示例:屬性方式獲得用戶(hù)數(shù)據(jù)Action接收參數(shù)(屬性方式)控制業(yè)務(wù)邏輯表單參數(shù)名稱(chēng)必須在A(yíng)ction中有對(duì)應(yīng)的setter以及getter解決亂碼修改struts.xml,添加代碼頁(yè)面顯示應(yīng)用場(chǎng)景接收的參數(shù)字段個(gè)數(shù)少的時(shí)候適合使用,比如對(duì)于搜索應(yīng)用,接收用戶(hù)輸入的搜索條件Action接收參數(shù)方式一Action接收參數(shù)(JavaBean方式):將模型數(shù)據(jù)從Action中分離了出來(lái)定義實(shí)體類(lèi),為實(shí)體添加屬性以及setter和gettercom.pb.entity.User為Action添加實(shí)體屬性以及setter和getterUser
9、user修改表單參數(shù)name為實(shí)體對(duì)象名.屬性名取值通過(guò)的形式Action接收參數(shù)方式二 演示示例:JavaBean方式獲得用戶(hù)數(shù)據(jù)需求說(shuō)明在A(yíng)ction中分別以屬性方式和JavaBean方式接收用戶(hù)登錄信息,簡(jiǎn)單實(shí)現(xiàn)租房管理系統(tǒng)的用戶(hù)登錄功能,并在登錄成功頁(yè)面顯示用戶(hù)相關(guān)信息課堂練習(xí)完成時(shí)間:15分鐘共性問(wèn)題集中講解Action接收參數(shù)的方式屬性方式JavaBean方式ModelDriven方式Action中對(duì)應(yīng)表單參數(shù)的屬性及對(duì)應(yīng)的setter、getter為Action添加實(shí)體屬性以及setter和getterAction實(shí)現(xiàn)ModelDriven接口,重寫(xiě)方法getModel(); A
10、ction中要提供JavaBean類(lèi)型的屬性,需要實(shí)例化,但不需要相應(yīng)的setter和getter方法頁(yè)面中(1)Form中元素name取值屬性名(2)取值:(1)Form中元素name取值對(duì)象名.屬性名(2)取值:(1)Form中元素name取值屬性名(2)取值:應(yīng)用場(chǎng)景接收的參數(shù)字段個(gè)數(shù)少字段多,可以封裝為一個(gè)對(duì)象;將模型數(shù)據(jù)從Action中分離出來(lái)時(shí)和JavaBean方式相似,不常用用常用常訪(fǎng)問(wèn)Action時(shí),默認(rèn)調(diào)用的是execute()方法使用method屬性public class HouseAction extends ActionSupport public String ex
11、ecute ( ) return success; 訪(fǎng)問(wèn)Action時(shí),默認(rèn)調(diào)用的是execute()方法可以在A(yíng)ction中定義多個(gè)業(yè)務(wù)方法方法簽名要與execute( )方法相同使用method屬性public class HouseAction extends ActionSupport public String add() return success; public String update() return success; 訪(fǎng)問(wèn)Action時(shí),默認(rèn)調(diào)用的是execute()方法可以在A(yíng)ction中定義多個(gè)業(yè)務(wù)方法方法簽名要與execute( )方法相同配置多個(gè)標(biāo)簽method
12、屬性指定調(diào)用的方法使用method屬性public class HouseAction extends ActionSupport public String add() return success; public String update() return success; 演示示例:使用method屬性配置Action動(dòng)態(tài)方法調(diào)用DMI(dynamic method invocation)一個(gè)Action類(lèi)中可以有多個(gè)業(yè)務(wù)方法只需要配置一個(gè)標(biāo)簽不需要使用method屬性調(diào)用時(shí)指出Action名和業(yè)務(wù)方法使用動(dòng)態(tài)方法調(diào)用public class HouseAction extends A
13、ctionSupport public String add() return success; public String update() return success; 動(dòng)態(tài)方法調(diào)用DMI(dynamic method invocation)一個(gè)Action類(lèi)中可以有多個(gè)業(yè)務(wù)方法只需要配置一個(gè)標(biāo)簽不需要使用method屬性調(diào)用時(shí)指出Action名和業(yè)務(wù)方法使用動(dòng)態(tài)方法調(diào)用 演示示例:動(dòng)態(tài)方法調(diào)用根據(jù)Action業(yè)務(wù)方法的返回值跳轉(zhuǎn)到不同的結(jié)果視圖的name屬性 public String add() throws Exception return addSuccess;public String update() throws Exception return updateSuccess; /houseAddSuccess.jsp /houseUpdateSuccess.jsp 需求說(shuō)明使用動(dòng)態(tài)方法調(diào)用添加房屋
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商務(wù)合同協(xié)議翻譯
- 合同中安全協(xié)議
- 紋眉客戶(hù)合同協(xié)議
- 新的安全協(xié)議合同書(shū)
- 沒(méi)購(gòu)房合同怎么簽訂協(xié)議
- 供貨協(xié)議合同價(jià)格調(diào)整
- 合同條件更改協(xié)議
- 車(chē)子承包協(xié)議合同
- 木材回收合同協(xié)議
- 合同不續(xù)約協(xié)議
- 2023年福建省泉州泉港區(qū)第四屆頤豐杯七年級(jí)數(shù)學(xué)試卷
- 肩關(guān)節(jié)常見(jiàn)損傷及治療
- 過(guò)敏性休克的搶救措施
- 千分尺完整(公開(kāi)課用)課件
- 施工現(xiàn)場(chǎng)項(xiàng)目部領(lǐng)導(dǎo)帶班制度
- 2024年資格考試-國(guó)際焊接工程師(IWE)考試近5年真題附答案
- 教育心理學(xué)-形考作業(yè)2(第四至六章)-國(guó)開(kāi)-參考資料
- 科大訊飛財(cái)務(wù)報(bào)表分析報(bào)告
- 心房顫動(dòng)診斷和治療中國(guó)指南(2023) 解讀
- 2024年高考生物三年高考真題及模擬題分類(lèi)匯編專(zhuān)題16實(shí)驗(yàn)與探究含解析
- 地形圖測(cè)繪報(bào)告
評(píng)論
0/150
提交評(píng)論