外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn).doc_第1頁(yè)
外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn).doc_第2頁(yè)
外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn).doc_第3頁(yè)
外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn).doc_第4頁(yè)
外文翻譯StrutsMVC 的一種開放源碼實(shí)現(xiàn).doc_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

附件1:外文資料翻譯譯文StrutsMVC的一種開放源碼實(shí)現(xiàn)本文介紹Struts,它是使用servlet和JavaServerPages技術(shù)的一種Model-View-Controller實(shí)現(xiàn)。Struts可幫助您控制Web項(xiàng)目中的變化并提高專業(yè)化水平。盡管您可能永遠(yuǎn)不會(huì)用Struts實(shí)現(xiàn)一個(gè)系統(tǒng),但您可以將其中的一些思想用于您以后的servlet和JSP網(wǎng)頁(yè)的實(shí)現(xiàn)中。簡(jiǎn)介小學(xué)生也可以在因特網(wǎng)上發(fā)布HTML網(wǎng)頁(yè)。但是,小學(xué)生的網(wǎng)頁(yè)和專業(yè)開發(fā)的網(wǎng)站有質(zhì)的區(qū)別。網(wǎng)頁(yè)設(shè)計(jì)人員(或者HTML開發(fā)人員)必須理解顏色、用戶、生產(chǎn)流程、網(wǎng)頁(yè)布局、瀏覽器兼容性、圖像創(chuàng)建和JavaScript等等。設(shè)計(jì)漂亮的網(wǎng)站需要做大量的工作,大多數(shù)Java開發(fā)人員更注重創(chuàng)建優(yōu)美的對(duì)象接口,而不是用戶界面。JavaServerPages(JSP)技術(shù)為網(wǎng)頁(yè)設(shè)計(jì)人員和Java開發(fā)人員提供了一種聯(lián)系鈕帶。如果您開發(fā)過大型Web應(yīng)用程序,您就理解變化這個(gè)詞的含義?!澳P?視圖-控制器”(MVC)就是用來幫助您控制變化的一種設(shè)計(jì)模式。MVC減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合。Struts是一種MVC實(shí)現(xiàn),它將Servlet2.2和JSP1.1標(biāo)記(屬于J2EE規(guī)范)用作實(shí)現(xiàn)的一部分。盡管您可能永遠(yuǎn)不會(huì)用Struts實(shí)現(xiàn)一個(gè)系統(tǒng),但了解一下Struts或許使您能將其中的一些思想用于您以后的Servlet的JSP實(shí)現(xiàn)中。模型-視圖-控制器(MVC)JSP標(biāo)記只解決了部分問題。我們還得處理驗(yàn)證、流程控制和更新應(yīng)用程序的狀態(tài)等問題。這正是MVC發(fā)揮作用的地方。MVC通過將問題分為三個(gè)類別來幫助解決單一模塊方法所遇到的某些問題:Model(模型)模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)。有時(shí)它包含的唯一功能就是狀態(tài)。它對(duì)視圖或控制器一無(wú)所知。View(視圖)視圖提供模型的表示。它是應(yīng)用程序的外觀。視圖可以訪問模型的讀方法,但不能訪問寫方法。此外,它對(duì)控制器一無(wú)所知。當(dāng)更改模型時(shí),視圖應(yīng)得到通知。Controller(控制器)控制器對(duì)用戶的輸入作出反應(yīng)。它創(chuàng)建并設(shè)置模型。MVCModel2Web向軟件開發(fā)人員提出了一些特有的挑戰(zhàn),最明顯的就是客戶機(jī)和服務(wù)器的無(wú)狀態(tài)連接。這種無(wú)狀態(tài)行為使得模型很難將更改通知視圖。在Web上,為了發(fā)現(xiàn)對(duì)應(yīng)用程序狀態(tài)的修改,瀏覽器必須重新查詢服務(wù)器。另一個(gè)重大變化是實(shí)現(xiàn)視圖所用的技術(shù)與實(shí)現(xiàn)模型或控制器的技術(shù)不同。當(dāng)然,我們可以使用Java(或者PERL、C/C+或別的語(yǔ)言)代碼生成HTML。這種方法有幾個(gè)缺點(diǎn):Java程序員應(yīng)該開發(fā)服務(wù),而不是HTML。更改布局時(shí)需要更改代碼。服務(wù)的用戶應(yīng)該能夠創(chuàng)建網(wǎng)頁(yè)來滿足它們的特定需要。網(wǎng)頁(yè)設(shè)計(jì)人員不能直接參與網(wǎng)頁(yè)開發(fā)。嵌在代碼中的HTML很難看。對(duì)于Web,需要修改標(biāo)準(zhǔn)的MVC形式。圖4顯示了MVC的Web改寫版,通常也稱為MVCModel2或MVC2。圖4.MVCModel2Struts,MVC2的一種實(shí)現(xiàn)Struts是一組相互協(xié)作的類、servlet和JSP標(biāo)記,它們組成一個(gè)可重用的MVC2設(shè)計(jì)。這個(gè)定義表示Struts是一個(gè)框架,而不是一個(gè)庫(kù),但Struts也包含了豐富的標(biāo)記庫(kù)和獨(dú)立于該框架工作的實(shí)用程序類。圖5顯示了Struts的一個(gè)概覽。圖5.Struts概覽Struts概覽Clientbrowser(客戶瀏覽器)來自客戶瀏覽器的每個(gè)HTTP請(qǐng)求創(chuàng)建一個(gè)事件。Web容器將用一個(gè)HTTP響應(yīng)作出響應(yīng)。Controller(控制器)控制器接收來自瀏覽器的請(qǐng)求,并決定將這個(gè)請(qǐng)求發(fā)往何處。就Struts而言,控制器是以servlet實(shí)現(xiàn)的一個(gè)命令設(shè)計(jì)模式。struts-config.xml文件配置控制器。業(yè)務(wù)邏輯業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。就Struts而言,這是通過作為實(shí)際業(yè)務(wù)邏輯“瘦”包裝的Action類完成的。Model(模型)的狀態(tài)模型表示應(yīng)用程序的狀態(tài)。業(yè)務(wù)對(duì)象更新應(yīng)用程序的狀態(tài)。ActionFormbean在會(huì)話級(jí)或請(qǐng)求級(jí)表示模型的狀態(tài),而不是在持久級(jí)。JSP文件使用JSP標(biāo)記讀取來自ActionFormbean的信息。View(視圖)視圖就是一個(gè)JSP文件。其中沒有流程邏輯,沒有業(yè)務(wù)邏輯,也沒有模型信息-只有標(biāo)記。標(biāo)記是使Struts有別于其他框架(如Velocity)的因素之一。詳細(xì)分析Struts圖6顯示的是org.apache.struts.action包的一個(gè)最簡(jiǎn)UML圖。圖6顯示了ActionServlet(Controller)、ActionForm(FormState)和Ac

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論