已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀
[碩士論文精品]網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn).pdf 免費(fèi)下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文摘要隨著我國經(jīng)濟(jì)的持續(xù)、快速發(fā)展,人民生活水平的提高,人們對生活的質(zhì)量也有了更高地追求,花卉成為社會和人民生活的一個重要組成部分,花卉業(yè)因此而蓬勃興起?;ɑ艿男枨?、生產(chǎn)和銷售被提到議事日程上來,它急需一個平臺來滿足這三方面的服務(wù)。網(wǎng)絡(luò)和電子商務(wù)則為此提供了最好的服務(wù)平臺。這個平臺即方便了消費(fèi)者又使商家得到了無限商機(jī),正是出于這樣一個目的,我們設(shè)計開發(fā)了網(wǎng)上花卉銷售系統(tǒng)。網(wǎng)上花卉銷售系統(tǒng)所有的功能都是圍繞花卉銷售和花卉分類的實際需要展開的,功能相對而言比較集中。本文首先對該系統(tǒng)所用到的軟件開發(fā)技術(shù)進(jìn)行了介紹,其中包括J2EE技術(shù)中的SMUTS架構(gòu)、SPRING架構(gòu)和HIBERNATE架構(gòu),SQLSERVER2000數(shù)據(jù)庫等。在此基礎(chǔ)上,進(jìn)行了網(wǎng)上花卉銷售系統(tǒng)的總體設(shè)計,并實現(xiàn)了系統(tǒng)的數(shù)據(jù)庫及數(shù)據(jù)處理業(yè)務(wù),對該系統(tǒng)進(jìn)行了單元測試和系統(tǒng)測試及其特性分析,最后說明了該系統(tǒng)需要完善的地方和將來系統(tǒng)擴(kuò)展的方向。網(wǎng)上花卉銷售系統(tǒng)主要功能包括用戶注冊登錄,用戶信息管理,花卉信息查詢,花卉信息管理,購物車管理,訂單管理,銷售統(tǒng)計,庫存統(tǒng)計,熱門花卉銷售統(tǒng)計與分析。選用STRUTS架構(gòu)作為前臺WEB框架,HIBERNATE架構(gòu)作為數(shù)據(jù)持續(xù)層部分的框架,SPRING架構(gòu)作為服務(wù)層的基礎(chǔ)框架解決了系統(tǒng)的耦合性,STRUTS、HIBEMATE、SPRING架構(gòu)的結(jié)合使系統(tǒng)具有更高的開發(fā)效率,及代碼重用性高、易于維護(hù);為將來功能擴(kuò)展及升級提供了方便。本系統(tǒng)不僅為花卉的信息化管理提供了較好的應(yīng)用平臺,對其它網(wǎng)上購物行業(yè)管理也有一定的借鑒意義。關(guān)鍵詞花卉銷售花卉分類;銷售系統(tǒng)網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)DESIGNANDIMPLEMENTATIONOFONLINEFLOWERSALESYSTEMABSTRACTALONGWITHOUA“COUNTYECONOMYCONTINUALLY,F(xiàn)ASTDEVELOPMENT,LIVESOFTHEPEOPLELEVELENHANCEMENT,THEPEOPLEALSOHADTHEHIGHGROUNDPURSUETDTHELIFEQUALITY,THEFLOWERSANDPLANTSHAVEBECOMESOCIALANDALIVESOFTHEPEOPLEIMPORTANTCONSTITUENT,THEFLOWERSANDPLANTSINDUSTRYTHEREFOREEMERGEDVIGOROUSLYFLOWERSANDPLANTSDEMAND,THEPRODUCTION,ANDTHESALEWASMENTIONEDTHEAGENDACOMESUPITURGENTLYNEEDSAPLATFORMTOSATISFYTHESETHREEASPECTSTHESERVICETHENETWORKANDELECTRONICEOELLMARCEHAVEPROVIDEDTHEBESTSERVICEPLATFORMFORTHISTHISPLATFORMNAMELYFACILITATEDTHECDNSUNLETENABLETHEBUSINESSTOOBTAINTHEINFINITEOPPORTUNITY,WRITSPRECISELYSTEMMINGFROMTHISKINDOFGOAL,WEDESIGNEDHAVEDEVELOPEDONLINEFLOWERSALESYSTEMONLINEFLOWERSALESYSTEMANFUNCTIONSA11ARCREVOLVETHEFLOWERSANDPLANTSSALEANDTHEFLOWERSANDPLANTSCLASSI虹礎(chǔ)ONACTUALNEEDL蛐CHTHEFUNCTIONRELATIVESAYSQUITESTRONGLYTHISARTICLEFIRSTTHESOFTWAREDEVELOPMENTTECHNOLOGYWHICHUSEDTOTHISSYSTEMHASCARDEDOLLTHEINTRODUCTION,INCLUDINGJ2EEINTHETECHNICALSTRUTSCONSTRUCTION,THESPRINGCONSTRUCTIONANDTHEHIBERNATEENNSUUCFION,SQLTHESERVER2000DATABASEANDSOONINTHISFOUNDATION,HASCARRIEDINTHEONLINEFLOWERSALESYSTEMDESIGN,ANDHASREALIZEDTHESYSTEMDATABASEANDTHEDATAPROCESSINGLVICE,HASCARRIEDONTHEUNITTESTANDTHESYSTEMTESTANDTHECHARACTERISTICANALYSISTOTHISSYSTEM,FINALLYEXPLAINEDTHISSYSTEMNEEDSTOCONSUMMATETHEPLACEANDTHEFUTURESYSTEMWILLEXOANDDIRECTIOMONLINEFLOWERSALESYSTEMMAINFUNCTIONINCLUDESN圮USERREGISTRATIONREGISTERSUSERINFORMATIONMANAGEMENT,FLOWERSANDPLANTSINFORMATIONINQUIRY,F(xiàn)LOWERSANDPLANTSINFORMATIONMANAGEMENT,SHOPPINGCARTMANAGEMENT,ORDERFORMMANAGEMENT,SALESSTATISTICS,STOCKSTATISTICS,PDPUL鐘FLOWERSANDPLANTSSALESTATISTICSANDANALYSISSELECTSTHESTRUTSCONSLAUETIONTOTAKETHEONSTAGE屯BFRALNETHEHIBERNATECONSTRUCTIONCOMINUEDTHELEVELPARTIALFRAMESASTHEDATA,THESPRMGCONSTRUCTIONHASSOLVEDTHESYSTEMCOUPLINGASTHESERVICELEVELFOUNDATIONFRANLE,STRUTS,ILIBEMATE,THESPRINGFRALLEUNIONENABLETHESYSTEMTOHAVETHEHIGHERDEVELOPMENTEFFIEIENCYANDTHECODEA1礬LSTEDWITHHEAVYRESPONSIBILITYTHENATUREHIEEASYTOMAINTAILL;HASPROVIDEDCONVENIENTLYFORTHEFIMLREFUNCTIONEXPANSIONANDTHEPROMOTIONNOTONLYTHISSYSTEMHASPROVIDEDTHEGOODAPPLICATIONPLATFORMFORFLOWERSANDPLANTSINFORMATIONMANAGEMENT,THESHOPPINGPROFESSIONMANAGEMENTALSOHASCERTAINMODELSIGNIFICANCETOOTHERNETSONKEYWORDSFLOWERSANDPLANTSSALEFLOWERSANDPLANTSCLASSIFICATION;SALESYSTEMIIDALIANUNIVERSITYOFTECHNOLOGY獨(dú)創(chuàng)性說明作者鄭重聲明本碩士學(xué)位論文是我個人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果,也不包含為獲得大連理工大學(xué)或者其他單位的學(xué)位或證書所使用過的材料。與我一同工作的同志對本研究所做的貢獻(xiàn)均已在論文中做了明確的說明并表示了謝意。作者簽名揩日期翌盜壘盟9大連理工大學(xué)碩士研究生學(xué)位論文大連理工大學(xué)學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者及指導(dǎo)教師完全了解“大連理工大學(xué)碩士、博士學(xué)位論文版權(quán)使用規(guī)定”,同意大連理工大學(xué)保留并向國家有關(guān)部門或機(jī)構(gòu)送交學(xué)位論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大連理工大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,也可采用影印、縮印或掃描等復(fù)制手段保存和匯編學(xué)位論文。作者簽名蛐導(dǎo)師簽名衛(wèi)型2年月L日淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文1緒論11課題的理論意義和應(yīng)用價值當(dāng)今時代是科技日新月異的年代,隨著科學(xué)技術(shù)的迅速發(fā)展,信息技術(shù)己在社會經(jīng)濟(jì)生活的各個領(lǐng)域中得到廣泛應(yīng)用,互聯(lián)網(wǎng)越來越成為政府、企業(yè)、個人之間進(jìn)行信息交流不可缺少的工具,現(xiàn)代社會的工作效率也因此得到了飛速的提高。網(wǎng)上花卉銷售是網(wǎng)上花店重要的業(yè)務(wù),范圍涉及用戶注冊登錄,用戶信息管理,花卉信息查詢,花卉信息管理,購物車管理,訂單管理,銷售統(tǒng)計,庫存統(tǒng)計,熱門花卉銷售統(tǒng)計與分析等多項業(yè)務(wù)。為了更快、更廣的加快網(wǎng)上花店信息化建設(shè),我根據(jù)在公司實習(xí)經(jīng)歷,確定了開發(fā)網(wǎng)上花店范圍內(nèi)的管理系統(tǒng),針對網(wǎng)上花店的管理體制、管理內(nèi)容、管理方法進(jìn)行全面分析的基礎(chǔ)上,綜合花卉行業(yè)管理模式,兼顧不同網(wǎng)上花店管理上的差異,設(shè)計網(wǎng)上花卉銷售系統(tǒng)。如何構(gòu)建功能更加強(qiáng)大、應(yīng)用更為靈活、開發(fā)更為簡便的WEB應(yīng)用系統(tǒng)成為解決當(dāng)前網(wǎng)上購物類系統(tǒng)的一個課題。12國內(nèi)外研究概況及發(fā)展趨勢如果說90年代互聯(lián)網(wǎng)的興起對人類日常生活方式產(chǎn)生沖擊的話,那么伴隨新千年的至來,INTERILET及其相關(guān)的信息技術(shù)對社會生活的各個方面的影響就不能僅僅用。沖擊”兩字來概括,互聯(lián)網(wǎng)技術(shù)已經(jīng)成為21世紀(jì)人類一種新的生活方式。網(wǎng)絡(luò)是服務(wù)于經(jīng)濟(jì)生活的技術(shù)產(chǎn)物,但是又沒有哪種技術(shù)像網(wǎng)絡(luò)這樣使經(jīng)濟(jì)生活不再如同過去,它促使生產(chǎn)活動、商務(wù)活動從形式到內(nèi)容都發(fā)生了深刻的變化,而這種變化的積累所產(chǎn)生的飛躍就是所謂的“新經(jīng)濟(jì)”。從90年代末期開始,伴隨新經(jīng)濟(jì)而來的是一輪又一輪的網(wǎng)絡(luò)淘金熱潮,就其實質(zhì)無非是商務(wù)活動的新一輪競爭,而這種競爭的典型特征是在以互聯(lián)網(wǎng)為基礎(chǔ)的商務(wù)輪盤賭中,無論是傳統(tǒng)企業(yè)還是新興產(chǎn)業(yè)都義無反顧地舉起“電子商務(wù)”的旗幟,試圖通過改造已有傳統(tǒng)、建立新游戲規(guī)則,進(jìn)而謀求更大的贏利空間,最終在新經(jīng)濟(jì)萌發(fā)過程中盡快完成新的“圈地運(yùn)動”。IT技術(shù)及INTERNET的結(jié)合使商務(wù)活動從形式到內(nèi)容都區(qū)別于以往一的經(jīng)濟(jì)活動,被冠之“電子商務(wù)”的新的經(jīng)濟(jì)活動都是在特定的技術(shù)平臺支持下完成的。從另一方面,可以說具有電子商務(wù)技術(shù)未必能夠成為新經(jīng)濟(jì)中的再潮兒,但是新經(jīng)濟(jì)下成功的企業(yè)必然具備支持其謀求競爭優(yōu)勢的電子商務(wù)系統(tǒng)。著名的競爭優(yōu)勢一書中提到“技術(shù)變革就其本身而言并不重要,但是技術(shù)變革影響了競爭優(yōu)勢和產(chǎn)業(yè)結(jié)構(gòu),它就舉足輕重了”。IT技術(shù)及INTERNET發(fā)展影響的正是未來企業(yè)及其商務(wù)活動,為此要正確地運(yùn)用電子商務(wù)活動的技術(shù)系統(tǒng),就必須正確地理淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)解企業(yè)的商務(wù)活動,理解電子商務(wù),在此基礎(chǔ)上才能夠真正架構(gòu)電子商務(wù)技術(shù)系統(tǒng),真正使技術(shù)系統(tǒng)融入企業(yè)的價值鏈中,這就是本論文研究電子商務(wù)系統(tǒng)架構(gòu)與技術(shù)實現(xiàn)的真正目的。121體系發(fā)展縱深化1電子商務(wù)的基礎(chǔ)設(shè)施將日臻完善,支撐環(huán)境逐步趨向規(guī)范和完善。三網(wǎng)合一潮流勢不可擋,高速寬帶互聯(lián)網(wǎng)將扮演越來越重要的角色,移動通訊將成為進(jìn)行電子商務(wù)的主要媒體。據(jù)預(yù)測,3年內(nèi)移動電子商務(wù)將有高達(dá)320億美元的商機(jī),到2002年,全球超過1億個手機(jī)將有上網(wǎng)功能,而到2003年將超過10億個。2電子商務(wù)的支撐環(huán)境逐步趨向規(guī)范和完善。網(wǎng)絡(luò)人口以幾何級數(shù)增加,預(yù)計2003年達(dá)6000萬以上,僅次于美國,網(wǎng)民的消費(fèi)觀念和行為將發(fā)生變化,對電子商務(wù)的接受程度提高。企業(yè)實施電子商務(wù)的緊迫性和可能性都大大提高。電子商務(wù)的法律法規(guī)的出臺和實施,使國內(nèi)電子商務(wù)將得到有效的法律保障。電子商務(wù)的物流體系逐步完善。隨著電子商務(wù)的發(fā)展和需要,跨地區(qū)的專業(yè)性物流渠道將適時建立和完善,使得電子商務(wù)公司在配送體系的選擇方面空間更大,成本將降低。3企業(yè)發(fā)展電子商務(wù)的深度進(jìn)一步拓展。新一代的電子商務(wù)將取代目前的簡單地依托“網(wǎng)站電子郵件”的方式。電子商務(wù)企業(yè)將從網(wǎng)上商店和門戶的初級形態(tài),過渡到將企業(yè)的核心業(yè)務(wù)流程、客戶關(guān)系管理等都延伸到互聯(lián)網(wǎng)上,更加互動和實時。4個人參與電子商務(wù)的深度也將得到拓展。個人數(shù)字設(shè)備、家庭數(shù)字電器將加速普及并實現(xiàn)上網(wǎng),如個人移動網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)電視、網(wǎng)絡(luò)冰箱、網(wǎng)絡(luò)微波爐的普及將使電子商務(wù)的發(fā)展空間極大地拓展。12,2服務(wù)方式個性化電子商務(wù)個性化趨勢將向兩個方向發(fā)展1個性化定制信息?;ヂ?lián)網(wǎng)為個性化定制信息提供了可能,也預(yù)示著巨大的商機(jī)。消費(fèi)者不僅可以實現(xiàn)點(diǎn)播,而且將促使個人參與到節(jié)目的創(chuàng)意、制作過程。2對個性化商品的需要,消費(fèi)者將把個人的偏好融入商品的設(shè)計和制造過程中。所以,對所有面向個人消費(fèi)者的電子商務(wù)活動來說,提供多樣化的比傳統(tǒng)企業(yè)更具個性化的服務(wù),是決定今后成敗的關(guān)鍵因素。123服務(wù)內(nèi)容專業(yè)化面向消費(fèi)者的垂直型網(wǎng)站和專業(yè)化網(wǎng)站前景看好,面向特定行業(yè)的專業(yè)電子商務(wù)平臺發(fā)展?jié)摿Υ蟆=窈笕舾赡陜?nèi)我國上網(wǎng)人口仍將是以中高收入水平的人群為主,他們購一2一淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文買力強(qiáng),受教育程度較高,生活的個性化訴求比較強(qiáng)烈。提供一條龍服務(wù)的垂直型網(wǎng)站及某一類產(chǎn)品和服務(wù)的專業(yè)網(wǎng)站發(fā)展?jié)摿Ω?。特別是對那些技術(shù)含量、知識含量較高的商品和服務(wù),人們一般希望在購買前能夠了解相關(guān)的知識,得到專家的指導(dǎo)。面向企業(yè)客戶的專業(yè)化趨勢。對BT0B電子商務(wù)模式來說,以行業(yè)為依托的專業(yè)電子商務(wù)平臺也是一個趨勢。124服務(wù)范圍國際化中國電子商務(wù)必然走向世界,電子商務(wù)將間接刺激對外貿(mào)易。比如在減少繁文縟節(jié)方面將節(jié)省大量費(fèi)用。我國電子商務(wù)企業(yè)將走向世界。發(fā)展電子商務(wù)是縮短國內(nèi)企業(yè)與國外差距的一個最有效的手段。電子商務(wù)對我國的中小企業(yè)開拓國際市場、利用好國外各種資源是一個千載難逢的有利時機(jī)。國外電子商務(wù)企業(yè)將努力開拓中國市場。隨著中國加入WTO,這方面的障礙更會得以消除。125服務(wù)重點(diǎn)區(qū)域化立足中國國情,采取有重點(diǎn)的區(qū)域化戰(zhàn)略,是有效地擴(kuò)大網(wǎng)上營銷規(guī)模和效益的必然途徑。中國地區(qū)經(jīng)濟(jì)發(fā)展的不平衡和城鄉(xiāng)二元結(jié)構(gòu)所反映出來的經(jīng)濟(jì)發(fā)展的階梯性,收入結(jié)構(gòu)的層次性都十分明顯。在可以預(yù)見的今后相當(dāng)長時間內(nèi),上網(wǎng)人口仍將以大城市、中等城市和沿海經(jīng)濟(jì)發(fā)達(dá)地區(qū)為主,BTOC電子商務(wù)模式區(qū)域性特征非常明顯。以這種模式為主的電子商務(wù)企業(yè)在資源規(guī)劃、配送體系建設(shè)、市場推廣等方面都必須充分考慮這一現(xiàn)實,采取有重點(diǎn)的區(qū)域化戰(zhàn)略,才能最有效地擴(kuò)大網(wǎng)上營銷的規(guī)模和效益。126服務(wù)主體融合化就是電子商務(wù)網(wǎng)站在最初的全面開花之后必然走向新的融合,包括同類兼并、互補(bǔ)性兼并和戰(zhàn)略聯(lián)盟協(xié)作。目前為數(shù)不少的網(wǎng)站屬于重復(fù)建設(shè)之列,定位相同或相近,業(yè)務(wù)內(nèi)容趨同。由于資源有限,最終勝出的只能是名列前茅的企業(yè)。國內(nèi)那些處于領(lǐng)先地位的電子商務(wù)企業(yè)的優(yōu)勢畢竟是相對而言的,網(wǎng)站下一步要發(fā)展,必然采取收購策略,而主要的模式將是互補(bǔ)性收購。由于個性化、專業(yè)化是電子商務(wù)發(fā)展的兩大趨勢,而且每個網(wǎng)站在資源方面總是有限的,客戶的需求又是全方位的,所以不同類型的網(wǎng)站以戰(zhàn)略聯(lián)盟的形式進(jìn)行相互協(xié)作也是必然趨勢。13本文所做的工作本人所做的工作是負(fù)責(zé)網(wǎng)上花卉銷售系統(tǒng)軟件的總體設(shè)計與開發(fā),其中包括系統(tǒng)需求分析,系統(tǒng)框架設(shè)計以及系統(tǒng)的具體功能設(shè)計,系統(tǒng)數(shù)據(jù)庫設(shè)計,以及系統(tǒng)的功能模塊實現(xiàn)和安全策略的考慮,最后對該系統(tǒng)進(jìn)行了測試。淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)14本文的結(jié)構(gòu)論文的第一部分“論文綜述”簡要介紹了本文的背景和動機(jī)。第二部分簡要介紹了網(wǎng)上花卉銷售系統(tǒng)所用到的軟件開發(fā)技術(shù),其中包括JAVA技術(shù)中的STNITS架構(gòu)、SPRING架構(gòu)和HIBERNATE架構(gòu)。在第三部分介紹了需求分析與設(shè)計。第四部分進(jìn)行了網(wǎng)上花卉銷售系統(tǒng)的設(shè)計。第五部分詳細(xì)介紹了網(wǎng)上花卉銷售系統(tǒng)的實現(xiàn)。第六部分是對花卉銷售服務(wù)管理系統(tǒng)的測試。最后對網(wǎng)上花卉銷售系統(tǒng)進(jìn)行了總結(jié),說明該系統(tǒng)需要完善的地方和將來系統(tǒng)擴(kuò)展的方向。4淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文2系統(tǒng)關(guān)鍵技術(shù)21STRUTS框架概述STRUTS是一個“W曲應(yīng)用框架”。STRUTS框架是JAVA和APACHE軟件基金下JAKARTA項目的一個開放式源代碼框架,為WEB應(yīng)用程序開發(fā)人員提供很多便利。其中,它基于MVC模式的設(shè)計思想,使代碼結(jié)構(gòu)化,條理化,便于維護(hù);很好地實現(xiàn)了業(yè)務(wù)邏輯與用戶界面的分離,將模型和視圖從底層事務(wù)處理分割開來,不僅使每個模塊都能獨(dú)立完成單一的功能,而且使系統(tǒng)更加易于開發(fā)、維護(hù)和更新,同時,它提供了大量自定義標(biāo)記庫,可以在JSP頁面中分離顯示邏輯與靜態(tài)HTML,使頁面代碼更清晰,可讀性提高,從而簡化J2EE的WEB應(yīng)用開發(fā)I”。211STRUTS框架體系結(jié)構(gòu)MVC設(shè)計模式來源于面向?qū)ο笳Z言SMALLTALK,它提出了一種思想,用于抽象和提煉一個系統(tǒng)的各個組成部分以及各部分之間的關(guān)系。MVC模式將事務(wù)邏輯同數(shù)據(jù)表示層分離,同時也將應(yīng)用的行為即觸發(fā)事務(wù)處理的事件、單獨(dú)分離出來,形成模型視圖控制器MODELVIEWCONTROLLER燃J【2JO它的三類對象介紹如下1模型MODEL模型是應(yīng)用程序的核心,它封裝了應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu)和事務(wù)邏輯,集中體現(xiàn)了應(yīng)用程序的狀態(tài)。2視圖VIEW視圖實現(xiàn)模塊的外觀,它是應(yīng)用程序的外在表現(xiàn)。它可以訪問模型的數(shù)據(jù),卻不了解模型的情況,同時它也不了解控制器的情況。當(dāng)模型發(fā)生改變時,視圖會得到通知,它可以訪問模型的數(shù)據(jù),但不能改變這些數(shù)據(jù)。3控制器CONTROLLER控制器對用戶的輸入做出反應(yīng),并且將模型和視圖聯(lián)系在一起,它創(chuàng)建并設(shè)置模塊。STRUTS框架是APACHEJAKARTA項目的一部分,是一種使用JSP和SERVLET來開發(fā)WEB層的應(yīng)用框架。它是MVC設(shè)計模式的一種實現(xiàn)。它由一組相互協(xié)作的類、SERVLET以及豐富的標(biāo)記庫TAGLIB組成,同時STRUTS也包含了獨(dú)立于該框架工作的實用工具類【31。STRUTS作為一個MVC的框架,STRUTS對MODEL、VIEW和CONTROLLER都提供了對應(yīng)的實現(xiàn)組件,對應(yīng)圖21,分別進(jìn)行介紹,并且看看它們是如何結(jié)合在一起的。淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)圖21STRUZS體系結(jié)構(gòu)圖FIG21THEARCHITECTUREOFSTRUTSF11模型MODELMVC系統(tǒng)中的MODEL部分從概念上可以分為兩類系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動作。STRUTS為MODEL部分提供了ACTION和ACTIONFORM對象,所有的ACTION處理器對象都是開發(fā)者從STRUTS的ACTION類派生的子類。ACTION處理器對象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模塊,并且把響應(yīng)提交到合適的VIEW組件以產(chǎn)生響應(yīng)。STRUTS提供的ACTIONFORM組件對象,它可以通過定義屬性描述客戶端表單數(shù)據(jù)。開發(fā)者可以從它派生子類對象,利用它和STRUTS提供的自定義標(biāo)記庫相結(jié)合,可以實現(xiàn)對客戶端的表單數(shù)據(jù)的良好封裝和支持。ACTION處理器對象可以直接對它進(jìn)行讀寫,而不再需要和REQUEST、RESPONSE對象進(jìn)行數(shù)據(jù)交互。通過ACTIONFORM組件對象實現(xiàn)了對VIEW和MODEL之間交互的支持。STRUTS通常建議使用一組JAVABEAN表示系統(tǒng)的內(nèi)部狀態(tài),根據(jù)系統(tǒng)的復(fù)雜度也可以使用像EMI夠EJB和SESSIONEJB等組件來實現(xiàn)系統(tǒng)狀態(tài)。STRUTS建議在實現(xiàn)時把“做什么”ACTION和“如何做”業(yè)務(wù)邏輯分離。這樣可以實現(xiàn)業(yè)務(wù)邏輯的重用【41。在模型層,STRUTS可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括JNDI,JDBC和JDO。F2視圖VIEWSTRUTS應(yīng)用中的VIEW部分是通過JSP技術(shù)實現(xiàn)的。STRUTS提供了自定義的標(biāo)記庫可以使用,通過這些自定義標(biāo)記可以非常好地和系統(tǒng)的MODEL部分交互,通過使用這些自定義標(biāo)記創(chuàng)建的JSP表單,可以實現(xiàn)和MODEL部分中的ACTION_FORM的映射,完成對用戶數(shù)據(jù)的封裝,同時這些自定義標(biāo)記還提供了像模板定制等多種顯示功能。同時,在視圖層,STRUTS能夠與VELOCITY,WEBWORK,TILES等表示層組件相結(jié)合【5J。31控制器CONTROLLER淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文控制器的作用是從客戶端接受請求,并且選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,然后把響應(yīng)結(jié)果送回到客戶端。在STRUTS中CONTROLLER由ACTIONSERVLET和ACTIONMAPPING對象構(gòu)成,核心是一個SERVLET類型的對象ACTIONSERVLET,它用來接受客戶端的請求。ACTIONSERVLET包括一組基于配置的ACTIONMAPPING對象,每個ACTIONMAPPING對象實現(xiàn)了一個請求到一個具體的MODEL部分中ACTION處理器對象之間的映射【6】。212STRUTS的工作流程上SE毫TFI瞻R、過鑣幣屬于S口L【SQL范圍F控靠嘲犍1|收請求垂F投湊峨將請求JI映射至A印0RI、J、PACTIONFORM,嫦D、一船暈縣醋I蒂每馳J屯。、卜創(chuàng)建ARRIONFOFRO1。謂露A嘣DNF。O,RM一HF6CH;L喵L,VR、了7I實例一智,VAMA怔;亨法產(chǎn)生描諉信息并逅圓紛窖戶;姐果是買宅NOACFIOBFORRN鷹圖,蔣觸裝異常處、FM也3T理對象I謂月IA盤ION,隧址孓珊義的EXECUTE、T、,J玉【執(zhí)行失敗】義NULLNULLNULLNULLNULL釜勸露赫霧BE囂信息瞄CTIO邀ACLIONFOR“ERDX,L“象控制器根據(jù)ACFIDNFORRR靖下個ANON或JSP22TRUTS工作流程圖IG22HEORKLOWHARTFSTRUTS圖22所示,CONTROLLER控制器接收HTTP請求,并從STRUTSCONFIGXML中找出對于該請求的ACTION子類,如果沒有對應(yīng)的ACTION,控制器直接將請求轉(zhuǎn)發(fā)給JSP或者態(tài)頁面。否則控制器將請求分發(fā)至具體ACTION類進(jìn)行處理。在控制器調(diào)用具體ACTIONEXECUTE方法之前,ACTIONFORM對象將利用HTTP請求中的參數(shù)來填充自己。具體的CTIONFORM對象應(yīng)該是ACTIONFORM的子類對象,它是一個JAVABEAN。此外,還可以在CTIONFORM類中調(diào)用VALIDATE方法來檢查請求參數(shù)的合法性,并且可以返回一個包含所淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)有錯誤信息的ACTIONERRORS對象【”。如果執(zhí)行成功,ACTIONFORM自動將這些參數(shù)信息以JAVABEAN的方式保存在SERVLETCONTEXT中,這樣它們就可以被其它ACTION對象或者JSP調(diào)用。STRUTS將這些ACTIONFORM的配置信息都放在FORMBEANCONFIG集合中。通過它們,STRUTS能夠知道針對某個客戶請求是否需要創(chuàng)建相應(yīng)ACTIONFORM實例。ACTION一般只包含一個EXECUTE方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,如果需要,它也進(jìn)行相應(yīng)的數(shù)據(jù)檢查。執(zhí)行完成之后,返回一個ACTIONFORWARD對象,控制器通過該ACTIONFORWARD對象來進(jìn)行轉(zhuǎn)發(fā)工作。我們主張將獲取數(shù)據(jù)和執(zhí)行業(yè)務(wù)邏輯的功能放到具體的JAVABEAN當(dāng)中,而ACTION只負(fù)責(zé)完成與控制有關(guān)的功能【8J。213STRUTS的核心配置STRUTS的核心是控制器ACTIONSERVLET,而ACTIONSERVLET的核心是配置文件STRUTSCONFIGXML,該配置文件的主要作用是建立控制器,模型及其視圖之間的聯(lián)系。它描述了控制器將客戶請求映射到對應(yīng)ACTION類處理的法則,同時還定義了用戶輸入數(shù)據(jù)與ACTIONFORM組件的對應(yīng)映射關(guān)系。此外,該配置文件的另個作用是將邏輯名映射到物理路徑,使得物理路徑與程序路徑無關(guān),整個系統(tǒng)導(dǎo)航使用邏輯名在STRUTSCONFIGXML中完成【91。這種在配置文件中完成業(yè)務(wù)邏輯控制的方法主要有以下優(yōu)點(diǎn)首先,應(yīng)用的所有頁面的導(dǎo)航定義都集中在一個分等級的XML文檔中,通過此配置文件即可迅速把握整個系統(tǒng)的脈絡(luò),第二,網(wǎng)頁設(shè)計人員在修改網(wǎng)頁時無需遍歷JAVA代碼來理解應(yīng)用的業(yè)務(wù)邏輯,而當(dāng)業(yè)務(wù)邏輯發(fā)生改變時,業(yè)務(wù)邏輯開發(fā)者也只需在STRUTSCORTFIGXML中做出相應(yīng)的調(diào)整和修改。在大型的WEB應(yīng)用系統(tǒng)中,這種管理頁面邏輯的方式無論是在系統(tǒng)前期的開發(fā)過程,還是后期的維護(hù)與升級階段都顯示出了方便性和和有效性。22SPRING框架概述SPNNGFRAMEWORK是由RODJOHNSON創(chuàng)立的一個開放源碼的應(yīng)用框架。它是輕量級的J2EE應(yīng)用程式框架,旨在簡化J2EE的開發(fā),降低J2EE項目實施的難度。SPRINGFRAMEWORK的貢獻(xiàn)包括兩個部分,首先是為J2EE應(yīng)用提供了一個優(yōu)雅的基礎(chǔ)結(jié)構(gòu);另外它還提供了許多旨在幫助開發(fā)人員更好的使用J2EE相關(guān)技術(shù)的工具性支持IL。SPNNG的核心是個輕量級LIGHTWEIGHT容器CONTAINER,SPRING的核心在檔案容量只有不到LM的大小,而使用SPRING核心所需要的資源也是很小的,而SPRING是個非侵入性NONINTRUSIVE框架,它的目的之一,是讓該應(yīng)用程式不感受到框架的存在,減低應(yīng)用程式移植時的負(fù)擔(dān)。SPRING核心本身是個容器,管理物件的生命周期、物件的組態(tài)、相依注入等,并可以控制物件在創(chuàng)建時是以原型PROTOTYPE或單例子SINGLETON淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文的方式來創(chuàng)立。SPRING的核心概念是IOC,更具體而易懂的名詞是依賴注入DEPENDENCYINJECTION,使用SPRING,您不必自己在程式碼中維護(hù)物件的依賴關(guān)系,只需在組件中加以設(shè)定,SPRING核心容器會自動根據(jù)組件將依賴注入指定的物件。SPRING實現(xiàn)了IOCINVERSIONOFCONTR01模擬的容器,基于此核心容器所建立的應(yīng)用系統(tǒng),可以達(dá)到系統(tǒng)元件的松散耦合LOOSECOUPLING,讓系統(tǒng)軟件可以進(jìn)行測試TESTABILITY,這些特性都使得整個應(yīng)用系統(tǒng)在架構(gòu)上與維護(hù)上都能得到相當(dāng)程度的簡化。SPRING的目標(biāo)是實現(xiàn)一個全方位的整合框架,在SPRING框架下實現(xiàn)多個子框架的組合,這些子框架之間彼此可以獨(dú)立,也可以使用其它的框架方案加以替代,SPRING希望提供ONESTOPSHOP的框架整合方案【11。SPRING的框架可以成為企業(yè)級應(yīng)用程序一站式的解決方案,同時它也是模塊化的框架,允許開發(fā)人員使用其中一部分的模塊進(jìn)行開發(fā)。比如開發(fā)者可以使用BEAN容器加之WEB層的STRUTS框架進(jìn)行工作,也可以只使用HIBERNATE集成框架或JDBC抽象層進(jìn)行工作。SPRING框架是一個松耦合的框架,框架的部分耦合度被設(shè)計為最小,在各個層次上具體選用哪個框架取決于開發(fā)者的需要。SPRING在應(yīng)用服務(wù)器之間是可移植的。當(dāng)然保證可移植性總是一種挑戰(zhàn),但是可以避免使用任何平臺特有或非標(biāo)準(zhǔn)的東西,并且支持在WEBLOGIC,TOMCAT,RESIN,JBOSS,WEBSPHERE和其他的應(yīng)用服務(wù)器上的用戶。它關(guān)注的領(lǐng)域是其他許多流行的FRAMEWORK未曾關(guān)注的。SVRING要提供的是一種管理開發(fā)人員的業(yè)務(wù)對象的方法。221SPRING框架體系結(jié)構(gòu)SPNNG框架是一個分層架構(gòu),由7個定義良好的模塊組成,SPRING模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理BEAN的方式。組成SPRING框架的每個模塊或組件都可以單獨(dú)存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)【L21。從結(jié)構(gòu)上劃分的7個模塊如圖23所示1核心模塊SPRINGCORE提供了一個應(yīng)用的基礎(chǔ)結(jié)構(gòu),其他各模塊均建立在這個模塊基礎(chǔ)之上。2上下文模塊SPRINGCONTEXT構(gòu)建于BEAN包上CONTEXT包,提供了一種框架式的BEAN訪問方式對核心模塊進(jìn)行了擴(kuò)展,提供了更高層次的功能。3數(shù)據(jù)存取對象模塊SPRINGDAO提供了JDBC的抽象層,它可以消除編寫冗長的JDBC代碼和解析數(shù)據(jù)庫廠商特有的錯誤代碼。該包也提供了一種方法實現(xiàn)編程性和聲明事務(wù)管理。4對象關(guān)系映射模塊FSPRINGORM提供了對對象關(guān)系映射的支持,對流行的淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)關(guān)系對象映射提供了集成層,包括JDO、HIBERNATE和IBATIS。通過ORM包,你可與所有SPRING提供的其他特性相結(jié)合起來使用這些OFR映射。圖23SPRING框架的7個模塊FIG237MODULESOFSPRINGFRAMEWORK5AOP支持模塊SPRINGAOP提供與AOP聯(lián)盟兼容的面向方面編程實現(xiàn),允許你定義,如方法攔截器和切點(diǎn),來給從邏輯上說應(yīng)該被分離的功能實現(xiàn)代碼解耦。6W曲模塊SPRINGWEB提供了基本的面向WEB的綜合性,提供了WEB應(yīng)用的一些抽象封裝;我們可以將自己熟悉的W曲框架與SPRING整合,像是STRUTS、WEBWORK等,都可以與SPRING整合而成為適用于自己的解決方案。7WEBMVC模塊SPRINGWEBMVCSPRING的WEBMVC包提供了面向WEB應(yīng)用的MODELVIEWCONTROLLER實現(xiàn)。222依賴注入模式依賴注入模式DEPENDENCYINJECTION原來被稱為IOC控制反轉(zhuǎn)INVERSIONOFCONTR01模式。IOC是由容器控制程序之間的關(guān)系,而非傳統(tǒng)實現(xiàn)中,由程序代碼直接操控。這也就是所謂“控制反轉(zhuǎn)”的概念所在控制權(quán)由應(yīng)用代碼中轉(zhuǎn)到了外部容器,控制權(quán)的轉(zhuǎn)移,是所謂反轉(zhuǎn)。MARTINFOWLER的INVERSIONOFCONTROLCONTAINERSANDTHEDEPENDENCYINJECTIONPATTEM一書為IOC正名,至此IOC又獲得了一新名“依賴注入DEPENDENCYINJECTION0相對于IOC而言,“依賴注入”的卻更加準(zhǔn)確的描述了這種古老而又時興的設(shè)計理念。從名字上理解,所謂依賴注入,即組件之間的依賴關(guān)系由容器在運(yùn)行期決定,形象淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文的來說,即由容器動態(tài)的將某種依賴關(guān)系注入到組件之中。高層的抽象模塊通常是與業(yè)務(wù)相關(guān)的模塊,它應(yīng)該具有重用性,而不依賴于低層的實際模塊,如果低層模塊原先是軟盤存取的模式,而高層模塊是一個存檔備份的需求,如果高層模塊直接調(diào)用低層模塊,則對其產(chǎn)生依賴關(guān)系【13】。依賴注入的目標(biāo)并非為軟件系統(tǒng)帶來更多的功能,而是為了提升組件重用的概率,并為系統(tǒng)搭建一個靈活、可擴(kuò)展的平臺。例如JAVACOMPENVJDBCSAMPLE其中SAMPLEDAO中的DATASOURCE將容器在運(yùn)行期動態(tài)注入,而DATASOURCE的具體配置和初始化工作也將由容器在運(yùn)行期完成。對比傳統(tǒng)的實現(xiàn)方式如通過編碼初始化DATASOURCE實例,我們可以看到,基于依賴注入的系統(tǒng)實現(xiàn)相當(dāng)靈活簡潔。通過依賴注入機(jī)制,我們只需要通過簡單的配置,而無需任何代碼就可指定SAMPLEDAO中所需要的DATASOURCE實例。SAMPLEDAO只需利用容器注入的DATASOURCE實例,完成自身的業(yè)務(wù)邏輯,而不用關(guān)心具體的資源來自何處、由誰實現(xiàn)。我們假設(shè)SAMPLEDAO是一個運(yùn)行在J2EE容器中的組件如WEBLOGIC。在運(yùn)行期,通過JNDI從容器中獲取DATASOURCE實例。假設(shè)部署環(huán)境發(fā)生了變化,系統(tǒng)需要脫離應(yīng)用服務(wù)器獨(dú)立運(yùn)行,這樣,由于失去了容器的支持,原本通過JNDI獲取DATASOURCE的方式不在有效。如何修改以適應(yīng)新的系統(tǒng)環(huán)境很簡單,只需要修改DATASOURCE的配置,把DATASOURCE改為別的組件提供。沒有編寫任何代碼我們即實現(xiàn)了DATASOURCE的切換。在傳統(tǒng)編碼模式中,如果要進(jìn)行同樣的修改,需要付出很大的努力。依賴注入機(jī)制減輕了組件之間的依賴關(guān)系,同時也大大提高了組件的可移植性,這意味著,組件得到重用的機(jī)會將更多。23HIBERNATE框架概述HIBERNATE是一個面向JAVA環(huán)境的對象關(guān)系數(shù)據(jù)庫映射工具,這種映射技術(shù)可以把淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)對象模型表示的對象映射到基于SQL的關(guān)系模型結(jié)構(gòu)中去。HIBERNATE不僅管理JAVA類到數(shù)據(jù)庫表的映射,還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,減少開發(fā)人員的編程任務(wù)14】。從八十年代開始,就有很多公司和研究機(jī)構(gòu)在進(jìn)行著面向?qū)ο笈c數(shù)據(jù)庫結(jié)合的研究。很多應(yīng)用還是采用簡單的JDBC來訪問數(shù)據(jù)庫??墒荍DBC也有很多局限性,比如調(diào)用復(fù)雜,容易產(chǎn)生資源泄漏等等,與面向?qū)ο蟮腏AVA語言有一段距離,所以很多開發(fā)小組開始思考如何將應(yīng)用中的數(shù)據(jù)進(jìn)行對象化建模,然后再想辦法與JDBC結(jié)合起來,這就是JAVA數(shù)據(jù)庫開發(fā)中的不斷推陳出新的對象包裝技術(shù)。要將現(xiàn)有的JAVA對象持久保存到關(guān)系數(shù)據(jù)庫,就使用對象關(guān)系映射0BJECTRELATIONALMAPPING,ORM工具來完成,它們能夠?qū)ο笥成涞疥P(guān)系數(shù)據(jù)庫中的行,從而不再需要復(fù)雜的持久層,并且使開發(fā)人員只需編寫最少的SQL在多數(shù)情況下不需編寫任何SQL。ORMAPPING工具有很多種,其中比較有影響力的一種就是HIBERNATE。HIBERNATE是一個現(xiàn)在很火的ORMAPPING產(chǎn)品,目前已經(jīng)出到21版,它是開源軟件,代碼完全公開。它的接口和類雖然簡單,但它的功能很強(qiáng)大。它的查詢語言也很獨(dú)特。HIBERNATE和其它的ORMAPPING工具比,更具有親和力,對關(guān)系的查詢更方便,目前HIBERNATE的用戶量和技術(shù)支持越來越多了【L5|。HIBERNATE是一種比較徹底的JAVA對象映射工具,支持使用各種JAVA思想如INHERITANCE、ASSOCIATION、COMPOSITION、COLLECTIONS等來實現(xiàn)對象。它可以直接映射大部分的JAVABEANS而不需要對它們作任何修改,即使不得不修改,最多在BEAN里面加上一些私有訪問方法。它還可以將一個用戶定義的多個類的實例映射到一張表的同一行,甚至可以利用代理模式來簡化載入類的過程。這些功能都大大減少了利用HIBERNATEQL從數(shù)據(jù)庫提取數(shù)據(jù)的代碼編寫量,從而節(jié)約開發(fā)時間和開發(fā)成本【16。每一種持久化機(jī)制都有一種對持久化對象屬性的訪問機(jī)制,例如SERIALIZATION使用REFLECTION;CMP使用CODEGENERATION;JDO使用BYTECODEPROCEEDING。HIBERNATE使用的是RUNTIMEREFLECTION也就是CGLIBRUNTIMEBYTECODEGENERATION。HIBERNATE利用REFLECTION機(jī)制,在系統(tǒng)啟動時生成SQL語句,進(jìn)行對象的持久管理?!俺志没本褪前褦?shù)據(jù)保存到可掉電式存儲設(shè)備以供之后所用。在大多數(shù)情況下,特別是企業(yè)級應(yīng)用,數(shù)據(jù)持久化往往意味著將內(nèi)存中的數(shù)據(jù)保存到磁盤上加以“固化”,而持久化的實現(xiàn)過程則大多通過各種關(guān)系型數(shù)據(jù)庫來完成。所謂“持久層”,也就是在系統(tǒng)邏輯層面上,專注于實現(xiàn)數(shù)據(jù)持久化的一個相對獨(dú)立的領(lǐng)域。在系統(tǒng)架構(gòu)中,應(yīng)該有一個相對獨(dú)立的邏輯層面,專注于數(shù)據(jù)持久化邏輯的實現(xiàn)。與系統(tǒng)其他部分相對而言,這個層面應(yīng)該擁有一個較為清晰和嚴(yán)格的邏輯邊界【171。淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文231HIBERNATE框架體系結(jié)構(gòu)HIBERNATE對每一種數(shù)據(jù)庫有對應(yīng)的DIALECT進(jìn)行操作優(yōu)化,從而提高它在各種情況下的效率。支持的數(shù)據(jù)庫有ORACLE、DB2、MYSQL、SYBASE、INTERBASE、MICOSOFTSQLSERVER以及HYPERSONICSQL。它可以和多種WEB服務(wù)器或者應(yīng)用服務(wù)器良好集成,使得開發(fā)者可以根據(jù)不同的需要來選擇WEB服務(wù)器。PERALPS【PELNICTAUTI。01NECTSHIBERNATEPFDPERT2ES圖24HIBERNATE體系結(jié)構(gòu)圖FIG24THEARCHITECTUREOFHIBERNATE圖24展示了HIBERNATE使用數(shù)據(jù)庫和配置文件數(shù)據(jù)來為應(yīng)用程序提供持久化的服務(wù)和持久化的對象。在應(yīng)用層和數(shù)據(jù)庫之間的持久層中,有HIBERNATE的持久化對象,配置文件及映射文件。我們在應(yīng)用和數(shù)據(jù)庫之間創(chuàng)建了“持久層”,是對操作數(shù)據(jù)部分的抽象。它的分物是存儲從應(yīng)用到數(shù)據(jù)庫的數(shù)據(jù),數(shù)據(jù)的檢索,更新和刪除。使用HIBERNATE對數(shù)據(jù)進(jìn)行持久化操作,把數(shù)據(jù)庫的表映射成類,把通常對表的操作變成對對象的操作,這樣,我們就有了“面向?qū)ο蟆钡暮芏鄡?yōu)點(diǎn)18。232HIBERNATE工作原理1CONFIGURATIONCONFIGURATION類負(fù)責(zé)管理HIBERNATE的配置信息。HIBERNATE運(yùn)行時需要獲取底層實現(xiàn)的基本信息,其中幾個關(guān)鍵性包括,數(shù)據(jù)庫URL、數(shù)據(jù)庫用戶、數(shù)據(jù)庫用戶密碼、數(shù)據(jù)庫JDBC驅(qū)動類、數(shù)據(jù)庫DIALECT用于對待定數(shù)據(jù)庫提供支持,其中包含了針對待定數(shù)據(jù)庫特性的實現(xiàn),如HIBERNATE數(shù)據(jù)類型到特定數(shù)據(jù)庫數(shù)據(jù)類型的映射等。淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)使用HIBERNATE必須首先提供這些基礎(chǔ)信息以完成初始化工作,為后繼操作做好準(zhǔn)各。這些屬性在城BERNATE配置文件HIBERNATEC龜,XML或HIBERNATEPROPERTIES中加以設(shè)定。當(dāng)我們調(diào)用CONFIGURATIONCONFIGNEWCONFIGURATION0CONFIGURE;時,HIBERNATE會自動在當(dāng)前的CLASSPATH中搜尋HIBERNATECFGXML文件并將其讀取到內(nèi)存中作為后繼操作的基礎(chǔ)配置。CONFIGURATION類一般只有在獲取SESSIONFACTORY時需要涉及,當(dāng)獲取SESSIONFAETORY之后,由于配置信息已經(jīng)由HIBERNATE維護(hù)并綁定在返回的SESSIONFACTORY之上,因此一般情況下無需再對其進(jìn)行操作】”。2SESSIONFACTORYSESSIONFACTORY負(fù)責(zé)創(chuàng)建SESSION實例。我們可以通過CONFIGURATION實例構(gòu)建SESSIONFAETORYCONFIGURATIONCONFI92NEWCONFIGURATIONCONFIGURE;SESSIONFACTORYSESSIONFACTORYCONFIGBUILDSESSIONFACTORY0;CONFIGURATION實例CONFIG會根據(jù)當(dāng)前的配置信息,構(gòu)造SESSIONFACTORY實例并返回。SESSIONFACTORY一旦構(gòu)造完畢,即被賦予特定的配置信息。也就是說,之后CONFIG的任何變更將不會影響到已經(jīng)創(chuàng)建的SESSIONFACTORY實例SESSIONFACTORY。如果需要使用基于改動后的CONFIG實例的SESSIONFACTORY,需要從CONFIG重新構(gòu)建一個SESSIONFACTORY實例。3SESSIONSESSION是持久層操作的基礎(chǔ),相當(dāng)于JDBC中的CONNECTION。SESSION實例通過SESSIONFACTORY實例構(gòu)建CONFIGURATIONCONFIGNEWCONFIGURATION0CONFIGURE0;SESSIONFACTORYSESSIONFACTORYCONFIGBUILDSESSIONFAETORYO;SESSIONSESSIONSESSIONFACTORYOPENSESSIONO;之后我們就可以調(diào)用SESSION所提供的SAVA、FIND、FLUSH等方法完成持久層操作。233HIBERNATEOR映射對象和關(guān)系數(shù)據(jù)庫之間的映射是用一個X2VL文檔來定義的。這個映射文件被設(shè)計為易讀的,并且可以手工修改的文檔。映射語言是以JAVA為中心的,這意味著映射是按照持久化類的定義來創(chuàng)建的,而非表的定義。雖然有一些工具用來生成映射文檔,但是很多HIBERNATE的用戶選擇手工定義XML映射文檔。我們只描述HIBEMATE在運(yùn)行時用到的主要文檔元素和屬性。映射文檔還包括一些額外的可選屬性和元素,它們在使用SCHEMA導(dǎo)出工具的時候會影響導(dǎo)出的數(shù)據(jù)庫SCHEMA結(jié)構(gòu)【20】。OR映射關(guān)系無疑是ORM框架中最為關(guān)鍵的組成部分,也是軟件開發(fā)中開發(fā)者時淘寶網(wǎng)購物HTTP/WWW521TAOBAOCOM/淘寶網(wǎng)購物商城大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文刻關(guān)注的內(nèi)容。對象和關(guān)系數(shù)據(jù)庫之間的映射是用個XML文檔XMIAOEUMENT來定義的12“。這個映射文檔被設(shè)計為易讀的,并且可以手工修改。映射語言是以JAVA為中心的,意味著映射是按照持久化類的定義來創(chuàng)建的,而不是表的定義。HIBERNATE從本質(zhì)上來講是一種“對象一關(guān)系型數(shù)據(jù)映射”O(jiān)BJECTRELAFIONALMAPPING簡稱ORM。映射MAPPING文件是將對象OBJECT與關(guān)系型數(shù)據(jù)RELATIONAL相關(guān)聯(lián)的紐帶,在HIBERNATE中,映射文件通常以“HBNLXML”作為后綴。1實體映射實體映射技術(shù)作為類與表之聞的聯(lián)系紐帶,在ORM實現(xiàn)中起著至關(guān)重要的作用。對HIBERNATE用戶而言,映射關(guān)系更多的體現(xiàn)在配置文件的維護(hù)過程中。被映射的類必須定義對應(yīng)數(shù)據(jù)庫表主鍵字段。大多數(shù)類有一個JAVABEANS風(fēng)格的屬性,為每一個實例包含唯一的標(biāo)識。D元素定義了該屬性到數(shù)據(jù)庫表主鍵字段的映射。實體映射的核心內(nèi)容,即實體與數(shù)據(jù)庫表之間的映射關(guān)系。類表映射主要包括三部分內(nèi)容。表名一類名映射NANLE參數(shù)指定了映射類名為TOMREDSAGAHIBEMATEDBENTITYTUSERTABLE參數(shù)指定了當(dāng)前類對應(yīng)數(shù)據(jù)庫表“TUSER”。通過以上配置,HIBERNATE即可獲知類與表的映射關(guān)系,即每個TUSER類對象對應(yīng)TUSER表中的一條記錄。主鍵映射ID節(jié)點(diǎn)定義了實體類的標(biāo)識IDENTITY,這里也就是對應(yīng)表主鍵的類屬性NAMEID指定當(dāng)前映射類中的屬性”ID”對應(yīng)了TUSER表中的主鍵字段。OA|URTM“ID”指定了當(dāng)前映射表TUSER的睢一標(biāo)識主鍵為”ID”字段。咿AV扎1ANGINTEGER指定了當(dāng)前字段的數(shù)據(jù)類型。制定了主鍵生成方式。對于不同的數(shù)據(jù)庫和應(yīng)用邏輯,主鍵生成方式往往不同??梢酝ㄟ^數(shù)據(jù)庫自增字段或者應(yīng)用邏輯兩種生成主鍵。屬性,字段映射屬性字段映射將映射類屬性與表字段相關(guān)聯(lián),典型情況下,它包含POJO的屬性名,網(wǎng)上花卉銷售系統(tǒng)的設(shè)計與實現(xiàn)表字段名和數(shù)據(jù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)定買賣合同范本
- 柜員勞務(wù)合同范本
- 小型合同范本承包范圍
- 攤位木架租賃合同范本
- 工廠大豆托運(yùn)合同范本
- 門頭改裝合同范本
- 林權(quán)流轉(zhuǎn)合同范本
- 蟹塘轉(zhuǎn)租合同范本
- 未來五年多層金屬片制密封墊行業(yè)直播電商戰(zhàn)略分析研究報告
- 未來五年尼龍拋光輪行業(yè)直播電商戰(zhàn)略分析研究報告
- 2025四川航天川南火工技術(shù)有限公司招聘考試題庫及答案1套
- 2025年度皮膚科工作總結(jié)及2026年工作計劃
- 冠狀動脈微血管疾病診斷和治療中國專家共識(2023版)
- 2024年春季學(xué)期中國文學(xué)基礎(chǔ)#期末綜合試卷-國開(XJ)-參考資料
- 軍隊物資工程服務(wù)采購產(chǎn)品分類目錄
- 廣西柳州市2023-2024學(xué)年八年級上學(xué)期期末質(zhì)量監(jiān)測地理試卷
- 《天文教學(xué)設(shè)計》教學(xué)設(shè)計
- 大學(xué)通用俄語1
- GB/T 24002.1-2023環(huán)境管理體系針對環(huán)境主題領(lǐng)域應(yīng)用GB/T 24001管理環(huán)境因素和應(yīng)對環(huán)境狀況的指南第1部分:通則
- GB/T 16938-2008緊固件螺栓、螺釘、螺柱和螺母通用技術(shù)條件
- C語言課程設(shè)計-商品信息管理系統(tǒng)
評論
0/150
提交評論