【正文】
詳細介紹,圖3一顯示了MVC模式三個主要組成部分之間的流程結(jié)構(gòu)【16】: 圖33 MVC設計模式結(jié)構(gòu)圖 MVC模式的處理過程為:首先控制器接收用戶的請求,并決定調(diào)用模型進行處理:然后模型根據(jù)用戶請求進行相應的業(yè)務邏輯處理,并返回數(shù)據(jù)。隨著軟件設計模式的出現(xiàn)和完善,以及面向?qū)ο蠹夹g(shù)的成熟,MVC設計模式逐漸成為一種較完善的面卜對象設計模式,它所應用的范圍也不再局限于界面設計。下面就對MVC設計模式進行詳細介紹。其次控制器負責控制轉(zhuǎn)向。其次的頁面和組件必須在這種框架下實現(xiàn),所以相應的增加了附加開發(fā)的工作。通過這種設計模型把應用邏輯、處理過程和顯示邏輯分成不同的組件實現(xiàn),這些組件可以進行交互和重用,從而彌補了Mode11的不足。在任何項目中,這樣的模式總會導致定義不清的響應和項目管理的困難,因此不能滿足大型應用的要求。所以非常不利于應用擴展和改動。這個模型簡單易用,能夠可以很好的滿足小型應用的需要。此外,JSP文件或者JavaBean類都可以直接對數(shù)據(jù)庫進行操作。在ISP發(fā)展早期,由于其便于掌握而且能夠便捷的進行Web應用程序的開發(fā),很快成為基于】2EE的Web應用程序的主要技術(shù)。設計模式不單描述對象,而且描述對象之間的通信方式,并可以重用,使得更加簡單方便的復用成功的體系結(jié)構(gòu),也使新系統(tǒng)的開發(fā)者更加容易理解設計思路,這也是設計模式得到市場和開發(fā)人員認可的重要原因。盡管描述設計決策時,并不總提到模式效果,但它們對于評價設計選擇和理解使用模式的代價及好處具有重要的意義。有時候,問題部分會包括使用模式必須滿足的一系列先決條件?;谝粋€統(tǒng)一的模式詞匯表,開發(fā)人員之間就可以在討論模式并在編寫文檔時使用。每一個模式描述了一個不斷重復發(fā)生的問題,以及該問題解決方案的核心,并可以一次一次的使用該方案而不需要重復開發(fā)。第三章應用Struts實現(xiàn)MVC模式 確立了系統(tǒng)的體系結(jié)構(gòu),了解到系統(tǒng)的關(guān)鍵部分已經(jīng)集中到服務器端的各個層次的設計與實現(xiàn),就需要一定的規(guī)范來幫助系統(tǒng)設計和開發(fā)人員對服務器端進行合理的設計與開發(fā),這就涉及到采用何種設計模式的問題。 本章按照軟件體系結(jié)構(gòu)從簡單到復雜的順序,首先簡單介紹了傳統(tǒng)的GS兩層體系結(jié)構(gòu),針對于GS兩層體系結(jié)構(gòu)所暴露出來的缺陷,對比介紹了更加實用的sls三層體系結(jié)構(gòu)。最后此種體系結(jié)構(gòu)提高了系統(tǒng)的重用性和擴展性,可以較好的整合原有系統(tǒng),避免不必要的重復開發(fā),從而縮短了開發(fā)周期,節(jié)約了開發(fā)成本。多層次結(jié)構(gòu)雖然不能保證其中一層出現(xiàn)問題,其他層次不受影響,但最重要的數(shù)據(jù)信息作為單獨的一層進行設計,可以保證在系統(tǒng)出現(xiàn)問題時,原有的重要數(shù)據(jù)不會丟失。另一方面,由于業(yè)務的不同,電子政務系統(tǒng)主要面向于政府工作人員,應用系統(tǒng)對工作人員的計算機水平不能要求太高,直接使用瀏覽器就可以對電子政務系統(tǒng)進行熟練的操作。電子政務系統(tǒng)的需求也隨之變化,因此電子政務系統(tǒng)對重用性和可擴展性的要求不斷提高。因此既需要考慮更好的實現(xiàn)整個系統(tǒng)的設計開發(fā),也要考慮到系統(tǒng)整體框架的特性以及未來的擴展性。本文所要介紹的上海市因公護照簽證管理信息系統(tǒng)主要采用數(shù)據(jù)庫系統(tǒng)。通常情況下,許多企業(yè)應用將Web層和業(yè)務層一起發(fā)布,稱為J2EE服務器。12EE平臺為業(yè)務層提供了EJB組件及E1B容器。J2EE平臺為Web層提供了JSP, Servlet組件及Web容器—應用服務器。圖23 基于J2EE的Web多層體系結(jié)構(gòu) 客戶層可以是桌面應用程序,也可以是基于Web的應用程序,主要負貴向最終用戶提供友好的可視化交互界面。T業(yè)大型公司,把所有與企業(yè)相關(guān)的標準、API進行整合推出的企業(yè)級版本,是一個開發(fā)分布式企業(yè)級應用的規(guī)范平臺,為程序開發(fā)人員提供了一個多層次的分布式體系結(jié)構(gòu)和一系列開發(fā)技術(shù)規(guī)范。 網(wǎng)絡的發(fā)展迫切需要有效的企業(yè)系統(tǒng)的開發(fā),構(gòu)建出高質(zhì)量、高度可用的企業(yè)應用,多層體系結(jié)構(gòu)應運而生。鑒于以上優(yōu)勢,Microsoft推出全面支持網(wǎng)絡的構(gòu)件搭建平臺,Sun和IBM也推出了IavaBean構(gòu)件技術(shù),使得BIS體系結(jié)構(gòu)成熟完善,大有取代GS體系結(jié)構(gòu)的趨勢。數(shù)據(jù)庫服務器從Web服務器中分離出來,有助于減輕Web服務器的工作負荷,也有助于系統(tǒng)數(shù)據(jù)信息的管理組織。圖22 B/S三層體系結(jié)構(gòu) 客戶端瀏覽器(Browser)只負責為用戶提供友好的交互界面,搜集用戶輸入?yún)?shù),在用戶觸發(fā)一定事件后,向Web服務器t Web Server)發(fā)出HTTP請求(HTTP Request ),并將請求參數(shù)傳送給Web服務器?;贐IS的應用系統(tǒng)在用戶端取消了客戶端軟件的開發(fā)和安裝,取而代之的僅僅是在用戶機器上安裝瀏覽器( Browser)。由于CIS體系結(jié)構(gòu)決定了必須在用戶機器上安裝客戶端應用程序,因此增加了系統(tǒng)開發(fā)和維護的難度,從而增加了系統(tǒng)開發(fā)的成本費用。 但在實際應用中CIS已經(jīng)暴露出一些弊端和缺點。圖21 C/S兩層體系結(jié)構(gòu) 其中客戶端負責向用戶提供操作界面,接受用戶輸入數(shù)據(jù)信息,通過請求( Request )向服務器端發(fā)送數(shù)據(jù),接受服務器端的響應(Response),并將響應結(jié)果向用戶顯示。 第五章總結(jié)與展望。本章將對設計模式的概念、MVC設計模式的核心思想和組成部分以及具體實現(xiàn)MVC設計模式的Struts框架進行論述,并詳細論述Struts框架的核心組件及流程控制等。 第二章應用系統(tǒng)的體系結(jié)構(gòu)。 本論文的研究目標是對Mvc模式進行深入研究,論述MvC模式各個組成部分(模型、視圖、控制器)在軟件開發(fā)中所擔當?shù)慕巧肮δ埽瑢VC模式與其他軟件框架模式進行比較,深入研究具體實現(xiàn)MVC框架模型的Struts框架技術(shù),并將其應用于電子政務應用系統(tǒng)的開發(fā)中,結(jié)合J2EE平臺技術(shù),為電子政務應用系統(tǒng)的開發(fā)提供標準的MVC框架開發(fā)模式。它用JSP技術(shù)實現(xiàn)視圖的功能,用Servlet技術(shù)實現(xiàn)控制器的功能,用JavaBeanIEJB技術(shù)實現(xiàn)模型的功能。 MVC設計模式是80年代Smallta1k}80出現(xiàn)的一種軟件設計模式,現(xiàn)在已經(jīng)被廣泛的使用。 近年來,隨著網(wǎng)絡技術(shù)迅速發(fā)展,J2EE平臺的日趨完善及廣泛應用,基于BIS多層體系結(jié)構(gòu)的Web應用程序已經(jīng)成為分布式軟件的首選模式,強烈的沖擊著傳統(tǒng)的C/S體系結(jié)構(gòu)。隨著Web開發(fā)技術(shù)發(fā)展日趨成熟,越來越多的電子政務應用系統(tǒng)轉(zhuǎn)向基于瀏覽器的BIS系統(tǒng)架構(gòu),逐漸舍棄復雜的CIS結(jié)構(gòu),從而節(jié)省了軟件的開發(fā)成本及開發(fā)周期。為保障政府信息化發(fā)展,美國還制定了一系列法律法規(guī),對政府信息化發(fā)展起著重要的保障和規(guī)范的作用。在國家信息化建設進程中,政府信息化又成為信息化建設的重點。Struts提供不同的組件工作于不同的層次,擔任不同的角色,并提供了豐富的標簽庫,大大增強了對視圖層的支持,從而使電子政務系統(tǒng)的開發(fā)更加便捷。這種特性恰恰滿足了電子政務系統(tǒng)開發(fā)的需要。因此如何使電子政務系統(tǒng)能夠具有最大的可擴展性和重用性就成為電子政務系統(tǒng)開發(fā)中必須重視和解決的問題?;贛VC實現(xiàn)的電子政務系統(tǒng)摘要 隨著計算機和信息技術(shù)的迅速發(fā)展,網(wǎng)絡己經(jīng)成為我們?nèi)粘I?、學習和工作的基礎設施。迅速發(fā)展,不斷變化的經(jīng)濟、社會內(nèi)容決定了電子政務系統(tǒng)必須能夠滿足政務活動的多變性。通過分層設計,各個層次的模塊可由不同的開發(fā)人員開發(fā),獨立層次的模塊擴展也將對其他層次模塊的影響降為最低。Struts架構(gòu)作為一種基于J2EE平臺的框架,具體實現(xiàn)了MVC模式。關(guān)鍵字:電子政務,設計模式,MVC,Struts } J2EEAbstract With the development of the Computer Science and the Information Technology, thenetwork has bee a kind of basic infrastructures in our daily life. Kinds of systemsbased on network appeared and the EGOV System is one of them. The EGOV Systemcan organize all the information effectively, share them among all the departments, andimprove the work efficiency greatly, so it is a kind of most important way to build the EG4V. The content of economy and society which is developing quickly has decided thatthe EGOV System should also satisfy the change of the active government. So it hasbeen a pressing pmblem how to make the EGOV System much more extensive and,reusable.The MVC pattern is a kind of layers pattern. It separates the whole structure intoseveral Layers: Mod呱View and Controller. All the layers exists separately,阮interfaceamong them is clear and make the coupling lowest. So this characteristic satisfies theneed of the EGOV System. Especially it bases on the 12EE platform which provideskinds of ponents and containers which the developers caa use to be the roles in MVC.And it makes the development much easier and improves the efficiency greatly. Struts isa kind of framework based on the J2EE platform and realizes the MVC pattern. Besidesthese Struts give us large tag Jibs and improves the support about View.This paper introduces the advantages to apply the MVC to the development of EG4V System development firstly. Then analyze the structure, the details of the MVCpattern and the main parts of Struts framework which realizes the MVC pattern. At lastbased on the Shanghai Visa and Passport Management Information System, a subsystemof the Shan沙ai EGov System, the paper introduced details how to use the MVC }tternduring the develapment of the systems.Key words: liGov, Design Pattern, MVC, Struts, J2EE第一章引言 20世紀90年代以來,伴隨信息技術(shù)的發(fā)展,信息化已經(jīng)成為各國普遍關(guān)注的焦點問題。1993年,克林頓政府成立了“國家績效評估委員會”,遞交了《創(chuàng)建經(jīng)濟高效的政府》和《運用信息技術(shù)改造政府》兩份報告,提出應當用先進的信息網(wǎng)絡技術(shù)克服美國政府在管理和提供服務方面所存在的弊端,這使得構(gòu)建“電子政府”成為美國政府改革的一個重要方向,也揭開了美國電子政務建設的序幕。 電子政務應用系統(tǒng),對在機關(guān)政務活動中產(chǎn)生的信息資源進行采集、整合、管理等操作,以分布式的結(jié)構(gòu)結(jié)合數(shù)據(jù)庫技術(shù),對整個信息資源進行檢索、共享。加之現(xiàn)在電子政務系統(tǒng)軟件的開發(fā)沒有標準的規(guī)范遵循,現(xiàn)在很多電子政務系統(tǒng)結(jié)構(gòu)混亂,模塊體積龐大、效率低、藕合度高,代碼重用率低,從而導致很多電子政務系統(tǒng)重復開發(fā),成本費用居高不下,系統(tǒng)功能可擴展性差,穩(wěn)定性和可靠性低等弊端??蚣苁绞强芍赜玫?,可以在他的基礎之上開發(fā)特定的應用程序[3],基于J2EE平臺的MvC模式同樣具有可重用的特性,為基于B/S的電子政務系統(tǒng)的開發(fā)提供完善的框架,成功的解決了在電子政務系統(tǒng)開發(fā)中所出現(xiàn)絕大多數(shù)的問題。直到基于12EE的3SP Model 2問世時才得以改觀。Struts框架就是最為優(yōu)秀的一種,得到市場的認可,Struts于2001年7月正式發(fā)布,當前的版本是}.2o Struts提供了構(gòu)建基于MVC的應用程序的基礎或框架,提供了核心的MVC功能,并附帶了多個JSP標簽庫,因此能夠更快、更輕松的開發(fā)基于MVC的Web應用程序。主要講述電子政務系統(tǒng)開發(fā)的現(xiàn)狀,以及Mvc設計模式應用于電子政務系統(tǒng)開發(fā)的現(xiàn)實意義。 第三章應用Struts具體實現(xiàn)MVC模式。并介紹了系統(tǒng)本身的功能結(jié)構(gòu)以及具體開發(fā)中所解決的難題。其結(jié)構(gòu)圖如圖21所示??蛻舳四軌蜻M行部分簡單的邏