資源描述:
《一種基于mvc模式的圖書(shū)短信管理系統(tǒng)設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、一種基于MVC模式的圖書(shū)短信管理系統(tǒng)設(shè)計(jì):該文針對(duì)圖書(shū)短信管理系統(tǒng),提出使用MVC框架來(lái)開(kāi)發(fā)實(shí)現(xiàn)。結(jié)合用戶和開(kāi)發(fā)者的視角,在滿足用戶需求的同時(shí),使用目前最優(yōu)秀的Struts2MVC框架,極大的提高了開(kāi)發(fā)的效率,為讀者提供了良好的服務(wù)和優(yōu)秀的用戶體驗(yàn)?! £P(guān)鍵詞:MVC;B/S;C/S;短信系統(tǒng);解耦合 ?。篢P311:A:1009-3044(2011)20-4790-04 隨著圖書(shū)館信息化進(jìn)程的加快,如何高效快速的為讀者提供信息資源服務(wù)是信息時(shí)代每個(gè)圖書(shū)館面臨的問(wèn)題。目前,國(guó)內(nèi)絕大多數(shù)圖書(shū)館都實(shí)現(xiàn)了圖書(shū)館的數(shù)字化轉(zhuǎn)型,讀者的圖
2、書(shū)資源獲取方式也更加靈活,但讀者的這些服務(wù)大部分局限在圖書(shū)館內(nèi)完成。有少部分圖書(shū)館利用B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的服務(wù)模式為讀者提供在線服務(wù)。大部分館則還停留在C/S(客戶機(jī)端/服務(wù)器)的管理層面上。如何利用現(xiàn)代信息手段提升圖書(shū)館服務(wù)讀者,提升服務(wù)是每個(gè)圖書(shū)館面臨的切實(shí)問(wèn)題。 MVC技術(shù)是于JAVA企業(yè)級(jí)開(kāi)發(fā)的Model2,它可以對(duì)用戶終端的信息展示、業(yè)務(wù)的處理邏輯和用戶端內(nèi)容的請(qǐng)求與選擇進(jìn)行良好協(xié)調(diào)處理。MVC模式應(yīng)用于圖書(shū)館短信管理系統(tǒng)中,可以讓業(yè)務(wù)處理邏輯為用戶端的短信模塊、瀏覽器模式同時(shí)提供服務(wù),提高代碼的重用率,降
3、低系統(tǒng)的耦合性,增加系統(tǒng)的健壯性?! ?MVC框架 1.1MVC概述 MVC是一種流行的設(shè)計(jì)模式,它強(qiáng)制性地把應(yīng)用程序的輸入、處理和輸出分開(kāi)。MVC把應(yīng)用程序分成三個(gè)模塊:模型、視圖和控制器,它們分別擔(dān)負(fù)不同的任務(wù)。圖1顯示了這幾個(gè)模塊各自的功能及它們的相互關(guān)系[1]?! ∫晥D是用戶端的數(shù)據(jù)顯示,也是用戶能看到并與系統(tǒng)交互的界面。視圖把模型中處理好的數(shù)據(jù)通過(guò)用戶界面展示給用戶,并接收用戶終端輸入的數(shù)據(jù),但視圖根本不進(jìn)行任何實(shí)際的業(yè)務(wù)邏輯處理。視圖可向模型查詢業(yè)務(wù)處理狀態(tài),但不能改變模型的內(nèi)部狀態(tài)。視圖還能接受模型發(fā)出的數(shù)據(jù)更
4、新及請(qǐng)求事件,故可以對(duì)用戶界面進(jìn)行同步更新?! ∧P褪菓?yīng)用程序的主體部分,是系統(tǒng)業(yè)務(wù)流程處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是透明的,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。一個(gè)模型可以為多個(gè)視圖提供業(yè)務(wù)處理數(shù)據(jù),因此提高了應(yīng)用的重用性。 控制器用于處理用戶
5、與視圖的交互。接收用戶的輸入并調(diào)用模型和視圖去完成用戶的需求,協(xié)調(diào)視圖與模型關(guān)系,控制系統(tǒng)整個(gè)業(yè)務(wù)流程,因此控制器提高了應(yīng)用程序的靈活性和配置性,降低了應(yīng)用程序各層間和各模塊間的耦合。MVC的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)模塊并不會(huì)影響其它兩個(gè)模塊的正常運(yùn)行?! 《鄠€(gè)視圖可以對(duì)應(yīng)一個(gè)模型;模型返回的數(shù)據(jù)與顯示邏輯分離;應(yīng)用被分為三層,降低了各層之間的耦合度,使應(yīng)用具有良好的可擴(kuò)展性;MVC更符合工程化的管理精神和設(shè)計(jì)原則。不同的層做不同的事,各層的組件具有自己相同的特征,有利于通過(guò)工程化的方法產(chǎn)生管理程序的代碼?! ?.2Str
6、uts2介紹 Struts2是以VC框架。Struts2的體系結(jié)構(gòu)與Struts1體系的差別相當(dāng)大,Struts1的設(shè)計(jì)思想是采用Servlet作為業(yè)務(wù)框架的實(shí)現(xiàn),而Struts2用Filter作為業(yè)務(wù)框架的實(shí)現(xiàn),即Struts2使用esh等),由Struts2的核心控制器FilterDispatcher根據(jù)請(qǐng)求來(lái)調(diào)用合適的Action,Struts2的攔截器棧自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,然后回調(diào)Action的execute()方法,該方法先獲取用戶請(qǐng)求參數(shù),然后執(zhí)行某種業(yè)務(wù)處理操作。 1.3IBATIS簡(jiǎn)介 iBATIS是A
7、pache組織旗下的一個(gè)開(kāi)源項(xiàng)目,用于加快JDBC編程的經(jīng)過(guò)泛化的一個(gè)持久化框架,是一個(gè)“半自動(dòng)”的ORM框架,它允許開(kāi)發(fā)人員根據(jù)開(kāi)發(fā)的需要自己靈活的定制SQL語(yǔ)句,然后通過(guò)映射配置文件,將SQL所需的參數(shù),以及返回的結(jié)果字段映射到指定JAVA對(duì)象類。使用iBATIS提供的ORM機(jī)制,對(duì)業(yè)務(wù)邏輯實(shí)現(xiàn)人員而言,面對(duì)的是純粹的Java對(duì)象,這點(diǎn)與通過(guò)Hibernate實(shí)現(xiàn)ORM而言基本一致,而對(duì)于具體的數(shù)據(jù)操作,Hibernate將會(huì)自動(dòng)生成SQL語(yǔ)句,而iBATIS則要求開(kāi)發(fā)者編寫(xiě)具體的SQL語(yǔ)句。相對(duì)Hibernate等“全自動(dòng)
8、”O(jiān)RM機(jī)制而言,iBATIS以SQL開(kāi)發(fā)的工作量和數(shù)據(jù)庫(kù)移植性上的讓步,為系統(tǒng)設(shè)計(jì)提供了更大的自由空間。作為“全自動(dòng)”O(jiān)RM實(shí)現(xiàn)的一種有益補(bǔ)充,iBATIS的出現(xiàn)顯得別具意義[3]?! ?MVC在圖書(shū)館短信系統(tǒng)中的應(yīng)用 2.1系統(tǒng)開(kāi)發(fā)總體設(shè)計(jì) 圖書(shū)館短信管