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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論