



版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MVCJSP Model 1MVCJSP Model 2MVC 模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛的使用。 模型(Model) 模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者 業(yè)務(wù)邏輯. 視圖(View) 視圖是應(yīng)用程序中用戶(hù)界面相關(guān)的部分,是用戶(hù)看到并 與之交互的界面。 控制器(controller) 控制器工作就是根據(jù)用戶(hù)的輸入,控制用戶(hù)界面數(shù)據(jù)顯 示和更新model對(duì)象狀態(tài)。MVCFramework 基于請(qǐng)求響應(yīng)的Framework 控制器(Controller)控制整個(gè)Framework中各個(gè)組件的協(xié)調(diào)工作。 業(yè)務(wù)邏輯
2、層(Business Logic)對(duì)Framwork本身來(lái)說(shuō),這 里僅僅只是概念和幾個(gè)提夠服務(wù)的基礎(chǔ)組件,真正的實(shí)現(xiàn)與客戶(hù)的業(yè)務(wù)邏輯接軌,還需要開(kāi)發(fā)人員在Framework上再次擴(kuò)展。 數(shù)據(jù)邏輯層(Data Logic)絕大應(yīng)用系統(tǒng)都需要涉及到數(shù)據(jù)交互,這一層次主要包括了數(shù)據(jù)邏輯和數(shù)據(jù)訪(fǎng)問(wèn)接口。對(duì)于數(shù)據(jù)邏輯來(lái)說(shuō),如果你了解數(shù)據(jù)建模(Data Modeling)可能就很容易理解。 問(wèn)題反饋問(wèn)題反饋( (一一) )1.MVC模式是從視圖到控制器再到模型,最后再返回視圖,但有時(shí)視圖層也可以直接與模型層交互,請(qǐng)問(wèn)在什么情況下用到,是不是不推薦使用? 當(dāng)頁(yè)面上不存在與模型層對(duì)應(yīng)的屬性時(shí),而頁(yè)面上又恰恰需
3、要數(shù)據(jù)庫(kù)中的某個(gè)字段的內(nèi)容時(shí)可以與模型層直接交互,但不推薦使用,因?yàn)椴焕跀?shù)據(jù)庫(kù)的維護(hù)。2.Framework中所謂的框架是不是按提供MVC形式擺放三個(gè)層次的位置就可以使用MVC模式了? 應(yīng)該可以說(shuō)只要按MVC形式的要求把相應(yīng)的內(nèi)容布置上就可以使用了,但實(shí)際上還需要使用者遵循MVC提供商中的一些接口之類(lèi)的約定就可以了。問(wèn)題反饋問(wèn)題反饋( (二二) )Struts的概念和體系結(jié)構(gòu) Struts有一組相互協(xié)作的類(lèi)、Serlvet以及Jsp TagLib組成?;赟truts構(gòu)架的web應(yīng)用程序基本上符合JSP Model2的設(shè)計(jì)標(biāo)準(zhǔn),可以說(shuō)是MVC設(shè)計(jì)模式的一種變化類(lèi)型。根據(jù)上面對(duì)framewor
4、k的描述,我們很容易理解為什么說(shuō)Struts是一個(gè)web framwork,而不僅僅是一些標(biāo)記庫(kù)的組合。但 Struts 也包含了豐富的標(biāo)記庫(kù)和獨(dú)立于該框架工作的實(shí)用程序類(lèi)。 Struts的概念和體系結(jié)構(gòu)的概念和體系結(jié)構(gòu) Struts有其自己的控制器(Controller),同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪(fǎng)問(wèn)技術(shù)相結(jié)合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件想結(jié)合。Struts與與We
5、b App的關(guān)系的關(guān)系Struts的體系結(jié)構(gòu)的體系結(jié)構(gòu)從視圖角度(從視圖角度(ViewView) 首先,Struts提供了Java類(lèi)org.apache.struts.action.ActionForm,Java開(kāi)發(fā)者將該類(lèi)細(xì)分來(lái)創(chuàng)建表單bean。在運(yùn)行時(shí),該bean有兩種用法: 當(dāng)JSP準(zhǔn)備相關(guān)的HTML,表單以進(jìn)行顯示時(shí),JSP將訪(fǎng)問(wèn)該bean(它保存要放入表單中的值)。那些值是從業(yè)務(wù)邏輯或者是從先前的用戶(hù)輸入來(lái)提供的。 當(dāng)從Web瀏覽器中返回用戶(hù)輸入時(shí),該bean將驗(yàn)證并保存該輸入以供業(yè)務(wù)邏輯或(如果驗(yàn)證失敗的話(huà))后續(xù)重新顯示使用。從視圖角度(從視圖角度(ViewView) 其次,Str
6、uts提供了許多定制JSP標(biāo)記,它們的使用簡(jiǎn)單,但是它們?cè)陔[藏信息方面功能強(qiáng)大。從模型角度(從模型角度(Model) Struts雖然不直接有助于模型開(kāi)發(fā)。在Struts中,系統(tǒng)模型的狀態(tài)主要由ActionForm Bean和值對(duì)象體現(xiàn)。從控制器角度(從控制器角度(Controller) 在Struts framework中, Controller主要是ActionServlet,但是對(duì)于業(yè)務(wù)邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個(gè)組件協(xié)調(diào)完成(也許這幾個(gè)組件,應(yīng)該劃分到模型中的業(yè)務(wù)邏輯一塊)。其中,Action扮演了真正的控制邏輯的實(shí)現(xiàn)者,
7、而ActionMapping和ActionForward則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。Struts 的基本組件包的基本組件包Struts的基本組件關(guān)系圖的基本組件關(guān)系圖 a ac ct ti io on n ( (c co or re e) ) a ac ct ti io on ns s c co on nf fi ig g t ta ag gl li iv va al li id da at to or r u ut ti il l Struts的基本組件包的基本組件包org.apache.struts.actionorg.apache.struts.action基本上,控制整個(gè)st
8、ruts framework的運(yùn)行的核心類(lèi)、組件都在這個(gè)包中,比如我們上面提到的控制器ActionServlet。還有Action,ActionForm,ActionMapping等等。struts1.1比1.0多了 DynaActionForm 類(lèi)。增加了動(dòng)態(tài)擴(kuò)展生成FormBean功能org.apache.struts.actionsorg.apache.struts.actions這個(gè)包是主要作用是提供客戶(hù)的http請(qǐng)求和業(yè)務(wù)邏輯處理之間的特定適配器轉(zhuǎn)換功能,而1.0版本中的部分動(dòng)態(tài)增刪FromBean的類(lèi),也在struts1.1中被Action包的DynaActionForm組件所取代
9、org.apache.struts.configorg.apache.struts.config提供對(duì)配置文件struts-config.xml元素的映射。這也是sturts1.1中新增的功能org.apache.struts.utilorg.apache.struts.utilStrtuts為了更好支持web application的應(yīng)用,提供了一些常用服務(wù)的支持,比如Connection Pool和Message Source。詳細(xì)信息請(qǐng)參考/struts/api/org/apache/struts/util/package-summary.
10、htmlorg.apache.struts.tagliborg.apache.struts.taglib這不是一個(gè)包,而是一個(gè)客戶(hù)標(biāo)簽類(lèi)的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags這幾個(gè)用于構(gòu)建用戶(hù)界面的標(biāo)簽類(lèi)。org.apache.struts.validatororg.apache.struts.validatorStruts1.1 framework中增加了validator framework,用于動(dòng)態(tài)的配置from表單的驗(yàn)證。詳細(xì)信息請(qǐng)參閱 http:/ 1.struts與App的關(guān)系中,web Se
11、rvice Peers與struts的交互,ebxml和soap不太理解?2.Struts的簡(jiǎn)單工作原理:從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面的處理過(guò)程? (1)當(dāng)客戶(hù)端瀏覽器發(fā)起請(qǐng)求到ActionServlet時(shí),ActionServlet首先對(duì)請(qǐng)求進(jìn)行一系列處理:根據(jù)請(qǐng)求的路徑和配置信息找到對(duì)應(yīng)的Action Bean 和Form Bean。 (2)在確定將要調(diào)用Action Bean和對(duì)應(yīng)的Form Bean后,就將請(qǐng)求中包含的值填充到Form Bean中(Action可以不關(guān)聯(lián)任何ActionForm,所以這一步是可選的)。在調(diào)用Action的execute方法前,ActionServlet還需要準(zhǔn)備好ActionMapping參數(shù),ActionMapping中包含了該Action的配置信息。問(wèn)題反饋(二)問(wèn)題反饋(二) (3)然后Struts將請(qǐng)求分發(fā)至相應(yīng)的Action Bean處理,ActionMapping參數(shù)、ActionForm參數(shù)、request和respons
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小手拉大手的班級(jí)活動(dòng)計(jì)劃
- 提升產(chǎn)出效率的年度目標(biāo)計(jì)劃
- 水環(huán)境保護(hù)管理規(guī)劃計(jì)劃
- 跨領(lǐng)域財(cái)務(wù)合規(guī)與稅務(wù)優(yōu)化實(shí)踐
- 跨國(guó)知識(shí)產(chǎn)權(quán)糾紛的庭審策略與挑戰(zhàn)
- 跨代財(cái)富傳承家族理財(cái)規(guī)劃的實(shí)踐與思考
- 安徽專(zhuān)版2024中考?xì)v史復(fù)習(xí)方案第三部分中國(guó)現(xiàn)代史第17課時(shí)社會(huì)主義制度的建立與社會(huì)主義建設(shè)的探索提分訓(xùn)練
- 浙江省2024-2025學(xué)年高中物理第四章課時(shí)訓(xùn)練1曲線(xiàn)運(yùn)動(dòng)和平拋運(yùn)動(dòng)含解析
- 貴州國(guó)企招聘2024貴州茅臺(tái)酒股份有限公司招聘社會(huì)招聘維修工12人筆試參考題庫(kù)附帶答案詳解
- 高中語(yǔ)文作文看見(jiàn)看不見(jiàn)
- 超市消防應(yīng)急疏散預(yù)案
- 當(dāng)代藝術(shù)博覽會(huì)的學(xué)術(shù)性建構(gòu)歷程與問(wèn)題
- 寺廟線(xiàn)上運(yùn)營(yíng)策劃方案
- 《Unit2Myfavoriteseason》教學(xué)設(shè)計(jì)課件
- 七年級(jí)上冊(cè)生物期末測(cè)試卷(含答案)
- 路基分層-表格-
- 離婚協(xié)議書(shū)電子版下載
- 中醫(yī)藥膳學(xué)124張課件
- 汽車(chē)法規(guī)第一章
- Kappa測(cè)試數(shù)據(jù)分析報(bào)告
- 視知覺(jué)原理課件
評(píng)論
0/150
提交評(píng)論