版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文獻(xiàn)及翻譯1引言本文分析了Hibernate和Struts的機(jī)制提出了一種基于HibernateStruts的J2EE應(yīng)用開(kāi)發(fā)策略。在這種策略中,模型層用ibernate實(shí)現(xiàn),視圖和控制器則用Struts框架實(shí)現(xiàn)。這樣可大大降低代碼的耦合性以及提高系統(tǒng)的開(kāi)發(fā)效率。關(guān)鍵字Hibernate,Struts,MVC,持久層。隨著Java技術(shù)的逐漸成熟與完善,作為建立企業(yè)級(jí)應(yīng)用的標(biāo)準(zhǔn)平臺(tái)J2EE平臺(tái)得到了長(zhǎng)足的發(fā)展。借助于J2EE規(guī)范中包含的多項(xiàng)技術(shù):EnterpriseJavaBean(EJB)Servlets(Servlet)JavaServerJavaMessageService(JMS)等,開(kāi)發(fā)出了許多應(yīng)用系統(tǒng)。但是,在傳統(tǒng)J2EE應(yīng)用的開(kāi)發(fā)過(guò)程中也出現(xiàn)了一些問(wèn)題:1)數(shù)據(jù)模型和邏輯模型之間的矛盾。目前使用的數(shù)據(jù)庫(kù)基本上都是關(guān)系型數(shù)據(jù)庫(kù),而ava本質(zhì)上是一種面向?qū)ο蟮恼Z(yǔ)言,對(duì)象在存儲(chǔ)和讀取時(shí)使用SQL和JDBC進(jìn)行數(shù)據(jù)庫(kù)操作,降低了編程的效率以及系統(tǒng)的可維護(hù)性2傳統(tǒng)的J2EE應(yīng)用多采用基于EJB的重量級(jí)框架這種框架適合于開(kāi)發(fā)大型企業(yè)應(yīng)用,但是使用EJB容器進(jìn)行開(kāi)發(fā)和調(diào)試需要耗費(fèi)大量時(shí)間。為了降低代碼的耦合性提高系統(tǒng)的開(kāi)發(fā)效率本文提出了一種基于truts框架和Hibernate框架的J2EE應(yīng)用開(kāi)發(fā)策略。2J2EE開(kāi)技紹數(shù)據(jù)持久層及Hibernate,Hibernate是一個(gè)數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(O/RMapping)的工具,它JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使程序員可以使用對(duì)象編程思想來(lái)操作數(shù)據(jù)庫(kù)不僅提供了從ava類到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使用DBC和SQL來(lái)操作數(shù)據(jù)庫(kù),使用Hibernate能大大的提高實(shí)現(xiàn)的效率Hibernate框架用配置文件的形式來(lái)定義Java對(duì)象和數(shù)據(jù)表之間的映射關(guān)系時(shí)在更深的層面將數(shù)據(jù)表之間的關(guān)系解
釋為Java對(duì)象之間的繼承及包含等關(guān)系。通過(guò)使用QL語(yǔ)句將復(fù)雜的關(guān)系算法用對(duì)象的方式描述,在很大程度上簡(jiǎn)化了對(duì)數(shù)據(jù)的查詢,加快了開(kāi)發(fā)的效率。在Hibernate中有一個(gè)簡(jiǎn)單而直觀的API用于對(duì)數(shù)據(jù)庫(kù)所表示的對(duì)象執(zhí)行查詢要?jiǎng)?chuàng)建或修改這些對(duì)象,只需在程序中與它們進(jìn)行交互,然后告訴ibernate保存即可這樣大量封裝持久化操作的業(yè)務(wù)邏輯不再需要編寫(xiě)煩瑣的JDBC語(yǔ)句從而使數(shù)據(jù)持久層得到了極大的簡(jiǎn)化。用Struts實(shí)現(xiàn)MVC架構(gòu)MVC(Model-View-Controller)由Trygve提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。模(Model是軟件所處理問(wèn)題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象封裝了問(wèn)題的核心數(shù)據(jù)邏輯和功能的計(jì)算關(guān)系獨(dú)立于具體的界面表達(dá)和I/O操作。視圖(View)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶它從模型獲得顯示信息對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖??刂破鳎–ontroller是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入將輸入反饋給模型進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制是使模型和視圖協(xié)調(diào)工作的部件通常一個(gè)視圖對(duì)應(yīng)一個(gè)控制器模型視圖與控制器的分離使得一個(gè)模型可以具有多個(gè)顯示視圖如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化控制器都會(huì)將變化通知所有的視圖導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。Struts框架最早是作為Apache項(xiàng)目的組成部分問(wèn)世運(yùn)做,它繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts框架很好的結(jié)合了Jsp,JavaServlet,JavaTaglib等技術(shù)。在Struts中,承MVC中控制器角色的是ActionServletActionServlet是一個(gè)通用的控制組件這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP求的入口點(diǎn)。它截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作(這些動(dòng)作類都是Action的子類另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充Action(FromBean動(dòng)作ActionBean動(dòng)作類訪問(wèn)核心商業(yè)邏輯,即訪問(wèn)JavaBean或調(diào)用EJB。最后動(dòng)作類把控制權(quán)傳
給后續(xù)的JSP文件,由JSP文件生成視圖。所有這些控制邏輯利用Struts-config.xml文件來(lái)配置truts框架中圖主要由SP生成頁(yè)面完成,Struts提供豐富的JSP標(biāo)簽庫(kù),這有利于分開(kāi)表現(xiàn)邏輯和程序邏輯。模型以一個(gè)或多個(gè)JavaBean的形式存在在Struts中主要存在三種ean別是,ActionForm,EJB或者JavaBean。Struts框架沒(méi)有具體定義模型層的實(shí)現(xiàn),在實(shí)際開(kāi)發(fā)中型層通常是和務(wù)邏輯緊密相連的且要對(duì)底層數(shù)據(jù)進(jìn)行操作。下面介紹一種開(kāi)發(fā)策略,將Hibernate引入到truts框架的模型層中,使用它來(lái)進(jìn)行數(shù)據(jù)封裝和映射,提供持久化的支持。下面結(jié)合開(kāi)發(fā)實(shí)踐,以在J2EE應(yīng)用中非常普遍的用戶登錄過(guò)程為例,來(lái)說(shuō)明上述體系結(jié)構(gòu)是如何具體運(yùn)用的。登錄的流程非常清晰:用戶從登錄頁(yè)面login.jsp輸入登錄信息,系統(tǒng)對(duì)登錄信息進(jìn)行驗(yàn)證,如果正確則成功登錄,否則提示相應(yīng)錯(cuò)誤信息。在開(kāi)發(fā)過(guò)程中使用Eclipse做為開(kāi)發(fā)環(huán)境同時(shí)加載了對(duì)Struts及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web服務(wù)器使用Tomcat,數(shù)據(jù)庫(kù)選用了Mysql。首先對(duì)Hibernate進(jìn)行配置,只需要對(duì)系統(tǒng)自動(dòng)生成的hibernate.cfg.xml進(jìn)行修改,配置好數(shù)據(jù)庫(kù)連接的各種參數(shù)以及定義數(shù)據(jù)映射文件由于Hibernate所帶的連接池主要用于測(cè)試性能不是很好,可以通過(guò)JNDI將其修改為使用Tomcat的連接池。附:資原Andrew1IntroductiontextanalysisStruts,1kindJ2oftheapplicationstrategy.Inofuseaandseeuseaframeacanconsumedlylowerefficiencythattheofcodesexexaltation
TheHibernate,holdoutforaprefacealongwithtechniqueofgradualmaturebusinessapplicationofstandardterrace,thesubstantialforhelpfromtoincludeintheJavaJavaMessagedevelopmentmanyalsosomeinthetraditionJ2theapplicationoftheprocess:antinomyofdataanddatabaseofusageallisrelationtypedatabase,thebeaofthelanguagetoobject,atwithreadusageJDBConaoperationandlowereddistanceofefficiencyandsystemofcanmaintenance;ofJ2EEapplicationmuchadoptionistoEJBheavyweightthiskindofframesuitableforaenterpriseusagetheEJBcarryandadjusttotrytotobeagreatdealoftime.ForloweringOutofofdevelopmentthistextforward1EEtotheofStrutsframeapplication2OpenSourceTechnologyofJ2EEholdingfortimelayeristooutforlongtimelayerisaofobjectoftoolreflectitcarriedtheobjectofthepacktotheJDBCmakemembercanusageobjectplaitdistanceoperationdatabase.ItonlyprovidedtoshootfromJavatoofdataform,butalsoadataasearchmechanism.OppositeusageJDBCSQLtooperationdatabase,useabilityconsumedlyofofefficiency.Theuseoftheformcomethereflectofdefinitionobjectformrelation,inatmoredeepoflevelofdataformfor
theasofetc.ofJavausageHQLofuseofobjectdescription,simplificationlogarithmstoofsearch,speeddevelopmentofefficiency.Haveinasimplebuttheofview,fortodatabasemeanoftoortheobjects,needtheonthemhandovertelltoagreatdealofholdoutfortimeturnoperationofnolongerwriteasentence,makedatalongthusthebiggestofsimplification.UsetheStrutsMVCMVC(Model-View-Controller)isputbyfirstdriveapplicationintheenvironmentSmallTalk-80,istohandwitheachwithinterfacesystemoffoundation.Accordingtheneedofvariabletheinterfacedesign,handoverwithotherofsystemtointoandseediagram,threepart.Model(Model)processingatindependenceinoutsideundercontentsformofinsideabstract,data,offunctionrelation,independenceinconcreteofinterfaceexpressionandI/Ooperation.Seediagram(View)informationandformdemonstrationofrelationtheacquireamanifestationinformationfrommodel,therebemanyhomologyofinformationdissimilarityofformordiagram.Thecontroller(Controller)processinghandwithsoftwarewithoperationof,itsprovidemodelinanyvarietyofdissemination,ainterfaceamongtheofcontact;Itacceptcustomerofimportation,give°feedbackmodelcontrol,ismakeandseeofseeadiagramrightnessshouldacontroller.Model,seeofdiagrammakeamodelabletomanytothepassacertainseethecontrollerofdiagramofmodel,theseofdataallshould
arrivevariety.Whenoccurrencewhatdataallwouldvarietynoticealllyseediagram,causeofrenewal.Thisaofvarietyofmodel-disseminationmechanism.Theframetotheitemofparttolucktodothestage,itinherittedMVCofitemcharacteristic,didtoofofwithStrutsframegoodcombineJavaTaglibetc.technique.IntheStruts,whattoundertakeinthebeanActionServletisincontrolmoduleprovidedprocessingallHTTPclaimwhichsendStrutsofinterceptionwithdistributearriveofactiontype.(theseactionalloftypeActionsonisalsoforusingofparameterfillActionactiontype(ActionBean).Actiontypeofcore,Javaortoactiontypepassfollow-upofdocument,fromJSPdiagram.AllcontrollogicuseofthecometointheStrutsfrombornpagecompletion,Strutsabundantofdatabase,isadvantageousprocedurelogic.ThewiththeformexistenceofseveralBean.InStruts,existencekindsofBean,respectivelyBE:Action,Javahavenodefinitionlayerofinthelayerusuallywithwitheachwantontothefirstfloordata.Theunderneath'sintroductionkindofleadintoofStrutsusageittocarryonadatatowithreflectshoot,provideoutforlongt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- A證(企業(yè)負(fù)責(zé)人)-安全員A證(企業(yè)負(fù)責(zé)人考前練習(xí))
- 廣東省中山市2024年九年級(jí)中考三模數(shù)學(xué)試卷附答案
- 電力系統(tǒng)節(jié)能減排實(shí)施方案
- 高一化學(xué)二第三章第一節(jié)最簡(jiǎn)單的有機(jī)化合物-甲烷教學(xué)設(shè)計(jì)
- 2024高中地理第3章地理信息技術(shù)應(yīng)用第3節(jié)全球定位系統(tǒng)及其應(yīng)用學(xué)案湘教版必修3
- 2024高中語(yǔ)文第一單元以意逆志知人論世蜀相訓(xùn)練含解析新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高中語(yǔ)文第四單元?jiǎng)?chuàng)造形象詩(shī)文有別第21課自主賞析項(xiàng)羽之死課時(shí)作業(yè)含解析新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)專練5化學(xué)與STSE含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點(diǎn)41烴的含氧衍生物強(qiáng)化訓(xùn)練含解析
- 2024高考化學(xué)一輪復(fù)習(xí)課練3物質(zhì)的組成性質(zhì)分類和化學(xué)用語(yǔ)含解析
- 機(jī)器人操作系統(tǒng)ROS原理及應(yīng)用 課件 07 ROS簡(jiǎn)介
- 2022年高考真題-政治(天津卷) 含答案
- 2024年度乙方提供物流配送服務(wù)合同標(biāo)的為800萬(wàn)元人民幣
- 螺桿壓縮機(jī)安裝施工方案
- 個(gè)體診所醫(yī)生述職報(bào)告3篇
- 2024年事業(yè)單位招聘考試公共基礎(chǔ)知識(shí)試題庫(kù)及答案(共316題)
- 杭州宋韻文化課程設(shè)計(jì)
- 營(yíng)銷課件教學(xué)課件
- 2024時(shí)事政治考試100題及參考答案
- (賽斯資料)健康之道(全本)
- 汽車(chē)常識(shí)課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論