基于Struts和Hibenate的遙感信息發(fā)布系統(tǒng)研究_第1頁(yè)
基于Struts和Hibenate的遙感信息發(fā)布系統(tǒng)研究_第2頁(yè)
基于Struts和Hibenate的遙感信息發(fā)布系統(tǒng)研究_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、基于Struts和Hibenate的遙感信息發(fā)布系統(tǒng)研究摘要本文分析了傳統(tǒng)eb信息系統(tǒng)的缺點(diǎn),詳細(xì)闡述了v設(shè)計(jì)形式思想,剖析了當(dāng)前被廣泛應(yīng)用的開(kāi)源設(shè)計(jì)框架:struts和hibernate的工作原理,基于以上分析提出將二者結(jié)合起來(lái)實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ)共同開(kāi)發(fā)遙感信息發(fā)布系統(tǒng)的思路,最后結(jié)合了da和工廠(chǎng)設(shè)計(jì)形式實(shí)現(xiàn)了具有良好可擴(kuò)展性、實(shí)用性和可維護(hù)性的遙感信息發(fā)布系統(tǒng)。關(guān)鍵詞遙感數(shù)據(jù)分發(fā);v設(shè)計(jì)形式;struts框架;hibernate映射工具0引言隨著internet技術(shù)的飛速開(kāi)展,eb信息系統(tǒng)被廣泛應(yīng)用。遙感信息發(fā)布系統(tǒng),就是指基于eb的遙感數(shù)據(jù)信息發(fā)布系統(tǒng)。隨著時(shí)間的推移,傳統(tǒng)的eb信息系統(tǒng)暴露了

2、很多問(wèn)題,如頁(yè)面邏輯、業(yè)務(wù)邏輯和數(shù)據(jù)邏輯雜糅在一起,系統(tǒng)的耦合性高,修改、維護(hù)困難,擴(kuò)展性差。為克制以上問(wèn)題,新的開(kāi)發(fā)方法也不斷被提出來(lái),如軟件分層思想,v設(shè)計(jì)形式等等。本文就如何構(gòu)建弱耦合性,可維護(hù)和可擴(kuò)展的遙感信息發(fā)布系統(tǒng)等問(wèn)題展開(kāi)討論。根據(jù)當(dāng)前eb技術(shù)的開(kāi)展,提出了采用java環(huán)境下實(shí)現(xiàn)v設(shè)計(jì)形式的struts框架和實(shí)現(xiàn)數(shù)據(jù)持久化的hibernate框架結(jié)合起來(lái)開(kāi)發(fā)遙感信息發(fā)布系統(tǒng),進(jìn)步系統(tǒng)的實(shí)用性、靈敏性,克制傳統(tǒng)eb系統(tǒng)的缺點(diǎn)。1v設(shè)計(jì)形式和開(kāi)源框架1.1v設(shè)計(jì)形式v設(shè)計(jì)形式是一種著名的用戶(hù)界面軟件開(kāi)發(fā)設(shè)計(jì)形式,它是模型-視圖-控制器del-vie-ntrller縮寫(xiě)。v設(shè)計(jì)形式最早

3、由xerx在20世紀(jì)八十年代為saltalk-80語(yǔ)言開(kāi)展提出的,但是這種設(shè)計(jì)思想并沒(méi)有局限于該語(yǔ)言,而是被廣泛地應(yīng)用到了其他面向?qū)ο蟮木幊陶Z(yǔ)言中。圖1v模型組件關(guān)系圖在v設(shè)計(jì)形式中,它把應(yīng)用程序分成了3個(gè)核心部分,原理圖如圖1所示。模型del模型封裝了用戶(hù)數(shù)據(jù)和處理數(shù)據(jù)的業(yè)務(wù)邏輯,表達(dá)了應(yīng)用程序的當(dāng)前狀態(tài),而且可以將用戶(hù)數(shù)據(jù)狀態(tài)的變化提供應(yīng)多個(gè)顯示該數(shù)據(jù)的視圖共用。模型是應(yīng)用程序的核心。視圖vie視圖提供了用戶(hù)界面,是用戶(hù)和應(yīng)用程序的交互的窗口,既承受用戶(hù)輸入,也把模型數(shù)據(jù)狀態(tài)顯示給用戶(hù),但是視圖不負(fù)責(zé)任何業(yè)務(wù)邏輯處理,僅僅是將用戶(hù)輸入數(shù)據(jù)傳遞給控制器或?qū)⒛P蛿?shù)據(jù)顯示給用戶(hù)??刂破鱪trll

4、er控制器連接了模型和視圖,根據(jù)用戶(hù)懇求判斷將懇求交給哪個(gè)模型來(lái)完成,然后調(diào)用視圖來(lái)顯示模型處理后的用戶(hù)懇求結(jié)果。v設(shè)計(jì)形式將應(yīng)用程序進(jìn)展了分層,視圖和模型通過(guò)控制器連接,從而減少了用戶(hù)界面和業(yè)務(wù)邏輯之間的耦合,使程序設(shè)計(jì)更加明晰、靈敏,也進(jìn)步了軟件的可擴(kuò)展性、可維護(hù)性。1.2struts框架struts框架是apahe開(kāi)源軟件聯(lián)盟的一個(gè)開(kāi)源工程jakartastrutsfraerk。struts框架繼承了v設(shè)計(jì)形式的特性,遵守了j2ee的servlet、jsp等技術(shù)標(biāo)準(zhǔn),并且根據(jù)j2ee的特點(diǎn)做了相應(yīng)的變化和擴(kuò)展,是j2ee體系架構(gòu)的一種輕量級(jí)實(shí)現(xiàn)。作為一款優(yōu)秀的javaeb應(yīng)用程序的開(kāi)發(fā)框

5、架,struts框架憑借其明晰性、靈敏性,成為當(dāng)前最為廣泛應(yīng)用的輕量級(jí)javaeb開(kāi)發(fā)框架。struts框架實(shí)現(xiàn)了v設(shè)計(jì)形式,其工作原理圖如圖2所示:圖2struts框架原理圖控制器的實(shí)現(xiàn)struts框架中采用了atinservlet和atin類(lèi)以及struts-nfig.xl配置文件作為控制器的實(shí)現(xiàn)。其中,struts-nfig.xl配置文件配置了不同用戶(hù)懇求及對(duì)應(yīng)的詳細(xì)業(yè)務(wù)邏輯組件來(lái)供atinservlet類(lèi)查詢(xún)。atinservlet類(lèi)是中心servlet,負(fù)責(zé)處理所有的用戶(hù)懇求。當(dāng)用戶(hù)提出懇求,atinservlet類(lèi)最先對(duì)懇求進(jìn)展處理,它將根據(jù)struts-nfig.xl配置文件將用

6、戶(hù)懇求映射到詳細(xì)的atin類(lèi);而當(dāng)atin類(lèi)調(diào)用模型組件處理好用戶(hù)懇求,并返回了處理結(jié)果后,仍然由atinservlet類(lèi)根據(jù)struts-nfig.xl配置文件將結(jié)果轉(zhuǎn)發(fā)到視圖提供應(yīng)用戶(hù),或者轉(zhuǎn)發(fā)另外一個(gè)atin做進(jìn)一步處理。atin類(lèi)實(shí)現(xiàn)了詳細(xì)的業(yè)務(wù)邏輯,它承受用戶(hù)的輸入,然后調(diào)用詳細(xì)的模型組件來(lái)完成用戶(hù)懇求。視圖的實(shí)現(xiàn)struts構(gòu)架主要采用了jsp作為視圖的實(shí)現(xiàn),它提供了豐富的jsp標(biāo)簽庫(kù)支持應(yīng)用程序的開(kāi)發(fā),而且引入了atinfr組件本質(zhì)為javabean作為用戶(hù)表單的封裝來(lái)完成數(shù)據(jù)的傳輸。模型的實(shí)現(xiàn)struts框架對(duì)模型即復(fù)雜的數(shù)據(jù)持久化層沒(méi)有提供太多的支持,但是這也就是說(shuō)開(kāi)發(fā)人員有

7、更多自由來(lái)選擇適宜量級(jí)的持久化技術(shù),比方hibernate、ejb等等。struts框架實(shí)現(xiàn)了v設(shè)計(jì)形式,但是它是典型的表現(xiàn)層框架,對(duì)模型的實(shí)現(xiàn)是缺乏的,所以有必要引入其他架構(gòu)加強(qiáng)對(duì)模型的實(shí)現(xiàn)。1.3hibenate框架hibernate框架是開(kāi)放源代碼的對(duì)象關(guān)系映射工具bjet-relatinalapping,是一款基于java環(huán)境的優(yōu)秀的對(duì)象持久化開(kāi)發(fā)框架。它根據(jù)/r對(duì)象/關(guān)系映射技術(shù)思想,對(duì)jdb進(jìn)展了輕量級(jí)封裝,使開(kāi)發(fā)人員可以使用一種面向?qū)ο蟮姆绞絹?lái)操縱和管理關(guān)系數(shù)據(jù)庫(kù),所以從技術(shù)本質(zhì)上來(lái)說(shuō)該框架是一種提供面向?qū)ο蟮臄?shù)據(jù)庫(kù)效勞中間件。hibernate框架位于應(yīng)用程序的業(yè)務(wù)化和持久化層

8、,在運(yùn)行時(shí)的體系構(gòu)造如圖3所示:sessinfatry接口,是一個(gè)數(shù)據(jù)庫(kù)映射關(guān)系的內(nèi)存映像,它是線(xiàn)程平安的,所以可以為多個(gè)線(xiàn)程同時(shí)調(diào)用產(chǎn)生sessin,是sessin的工廠(chǎng),另外它為事務(wù)之間可以重用的數(shù)據(jù)提供了可供選擇的二級(jí)緩存。圖3hibernate運(yùn)行時(shí)體系構(gòu)造圖sessin接口,是hibernate框架的運(yùn)行中心,它被用戶(hù)程序調(diào)用,提供與持久化相關(guān)的諸多操作,如加載、添加、查詢(xún)、更新和刪除持久化對(duì)象,是實(shí)現(xiàn)用戶(hù)程序持久化工作的主要接口,所以sessin被稱(chēng)為持久化管理器。transatin接口,是用來(lái)指定原子操作的單元范圍,它通過(guò)對(duì)底層詳細(xì)的jdb、jta等事務(wù)進(jìn)展封裝和抽象,形成一個(gè)統(tǒng)

9、一的事務(wù)操作界面。此外,hibernate還有兩個(gè)重要的核心接口:nfiguratin接口和query和riteria接口。nfiguratin接口是用來(lái)對(duì)hibernate配置和啟動(dòng)。query和riteria接口是用來(lái)執(zhí)行對(duì)數(shù)據(jù)庫(kù)的查詢(xún),且支持hql、sql多種查詢(xún)方式,其中hql是一種面向?qū)ο蟮牟樵?xún)語(yǔ)言。2遙感信息發(fā)布系統(tǒng)的設(shè)計(jì)遙感信息發(fā)布系統(tǒng)是基于地面站遙感數(shù)據(jù)信息的發(fā)布系統(tǒng),包括了用戶(hù)信息模塊,數(shù)據(jù)閱讀模塊,數(shù)據(jù)訂購(gòu)模塊等。2.1系統(tǒng)的體系機(jī)構(gòu)設(shè)計(jì)根據(jù)前面介紹可以看到hibenate架構(gòu)只具備數(shù)據(jù)持久化設(shè)計(jì)才能,而struts架構(gòu)那么在模型設(shè)計(jì)方面才能薄弱,所以將二者結(jié)合起來(lái)使用,共同搭建系統(tǒng)構(gòu)造實(shí)現(xiàn)v模型設(shè)計(jì),可以到達(dá)二者優(yōu)勢(shì)互補(bǔ),從

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論