基于JEE的旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計_第1頁
基于JEE的旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計_第2頁
基于JEE的旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計_第3頁
基于JEE的旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計_第4頁
基于JEE的旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科生畢業(yè)論文(設(shè)計)題目基于J2EE的旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計學(xué)院計算機(jī)學(xué)院蛛倆糟首專肢瓜違業(yè)行名揪蛛見計算棄機(jī)科席學(xué)與綿技術(shù)隙理盲曠盼諸蹲仙穿東學(xué)椅生姓毀名水XX窩XX今避茄株學(xué)酒撿芝號排XX勺XX拾XX意XX姨XX嶄年級迷享聞20死09東級崗笑固春臘指止導(dǎo)教蠻師姜XX劫XX什XX微XX巡X弱教務(wù)阻處制啊表恢二保Ο疲一三蔥年吵五容月黎二友十涼日TITLE此處填寫論文題目仔基于革J2張EE念的旅徹游網(wǎng)屑站后篩臺管辨理系史統(tǒng)設(shè)矩計擾計算穴機(jī)科辭學(xué)與倆技術(shù)富學(xué)生療:X導(dǎo)XX飯X匙指導(dǎo)呢老師檢:X租XX編XX兆[摘擊要]銜定隨著帽計算耀機(jī)技介術(shù)的額發(fā)展賺,許劑多行覺業(yè)對婆計算坦機(jī)的專應(yīng)用久日益階廣泛觀,尤介其以胸JA罩VA緣語言渠為基稿礎(chǔ)的濫開發(fā)歌項目咐,比展如軟膀件開沃發(fā),皮系統(tǒng)五開發(fā)挑等,墊當(dāng)前勝JA廳VA蛇語言襖使用汪量幾期乎穩(wěn)深居世們界第第一。伍與J惠AV喝A相說關(guān)框阻架層駝出不歇窮,浙基于戚JA聯(lián)VA故語言幻的優(yōu)旺勢,導(dǎo)對其攪的研妥究應(yīng)虛該更耽為廣淹泛??浔疚目貙栍贘羊2E刺E的補(bǔ)旅游息網(wǎng)站相后臺愁管理緩系統(tǒng)溪開發(fā)艇詳細(xì)史進(jìn)行熊介紹級,其漏中按庸層次兆劃分倡,需漫求分學(xué)析層打包括嘴用戶異需求違、功惑能需粒求、壓非功哪能需烈求、享配置江需求桌,在尊這四少個方顆法進(jìn)外行了親詳細(xì)額的介會紹;助系統(tǒng)緞結(jié)構(gòu)慢層,般對本韻系統(tǒng)藏開發(fā)步框架賠進(jìn)行貼了詳理細(xì)介知紹,宰包括躲類模色型設(shè)都計和眾數(shù)據(jù)鉛表設(shè)衣計以瞇及類紙之間厘方法碎調(diào)用努關(guān)系魯,過映程有噴相應(yīng)鍋的圖勢據(jù)以深參考蘿。本俱文對蘭技術(shù)焰性知胞識,皮主要糟是J更2E桂E開依源框聚架,外據(jù)權(quán)紅威人蠢士分雅析,衫J2霧EE懶技術(shù)炎當(dāng)前舌發(fā)展葵普及租全球敏并會徒繼續(xù)喘發(fā)展難,其明技術(shù)愉會對爭于將進(jìn)會投龜入到濾軟件杰開發(fā)山方向峽上的豎人員棕來說濁,重睛要性蓮毫無猜疑問橫,其坑將會煤帶來擇的機(jī)加會可邪想而塊知,嚇?biāo)匀疚亩岩簿桶鞘褂米牡降娜軯2謊EE色框架代進(jìn)行傻介紹凱。主所要是營對S償tr汗ut黑s2卵、S吳pr技in賣g、殼Hi精be衫rn除at欠e三民大開堡源框濟(jì)架的確基本銹功能獄特性后和原認(rèn)理進(jìn)勻行分柔析,詠同時廣也對襖Aj尖ax既交互叔技術(shù)躍進(jìn)行河有效紅分析叼,最顆后總蘿結(jié)本神次開骨發(fā)項勺目收懸獲。怕[關(guān)猾鍵字滔]胳縮維系統(tǒng)縮J2嶺EE桃惕Aj億ax借強(qiáng)框架狹Tr埋av效el糾w側(cè)eb傭si打te溫b值ac證ks候ta位ge丈m逝an數(shù)ag莊em皇en盈t娛sy愁st攏em宅b翁as譽(yù)ed副o守n才J2戚EE頃i由s猛de糾si扶gn碑ed隊Co兇mp店ut老er寧s酸ci浸en后ce制僑&直te厲ch嗓no滑lo汁gy殺St炭ud量en風(fēng)t:扯理ZH計AN皂G獲筒Xx斷x留Ad急vi牽se珍r:貸撐CH獻(xiàn)EN愧貌Xx盤x機(jī)-股xx生x[Abstract]遷Wi跡th勢t瓶he朱d運ev榨el拘op捉me佛nt傅o鹿f便co洋mp充ut銹er稻t升ec蹈hn發(fā)ol濤og稿y,含Ma政ny琴i荒nd驕us末tr工y羞in滋cr盜ea茄si蹲ng港ly外e拋xt防en唯si浮ve斜a挪pp羽li搭ca臉ti我on何o喊f測co宏mp徒ut紅er奴,宴es虧pe穗ci債al竊ly謙b樓as概ed涼o援n揉JA牙VA冠d臂ev禍el茄op移me冬nt株p助ro務(wù)je聯(lián)ct涉s,鞋s籌uc鞠h鈴as規(guī)s承of懸tw揉ar誕e碰de冷ve勢lo慚pm后en等t,擔(dān)s椅ys霉te謊m俘de主ve剛lo澇pm鏟en槐t,撿s護(hù)uc殲h巧as斤t可he飽J藏AV驚A先la參ng楚ua愛ge焦u倘sa貞ge鄙a穩(wěn)lm排os私t塌ra茂nk怒s霉fi向rs頌t武in秒t繩he炊w半or武ld隙.兩As頁so爪ci隔at兼ed態(tài)w屋it渾h慶th甲e假JA越VA哪f波ra含me男wo你rk待s釘em摩er驕ge鳥i唯n返en叨dl甜es脅sl倍y,膀b伙as曾ed照o孫n壟th升e嘆ad碑va炕nt迫ag衣es煩o堡f震JA仆VA番l仁an嗓gu衛(wèi)ag精e,居t舞he更r雕es狡ea尋rc飯h坊sh撇ou嗚ld扎b叛e陰mo旺re西w托id客el鍋y.羅I姓n級th誼is湯p率ap杏er界,謀th憑e敲tr莊av松el望w慕eb街si判te評b霉ac誕ks寸ta累ge鴉m宏an渾ag夏em臺en性t耳sy捎st擇em醒b露as迫ed值o敲n謎J2啄EE墳d宇ev廢el餃op灘me清nt怨i揮s窗de至sc滴ri抱be穩(wěn)d欄in甩d竊et關(guān)ai辯l,呼w稻hi質(zhì)ch油a鼻cc腦or覆di涌ng母t挑o般le齊ve置l塌cl當(dāng)as扶si謊fi氏ca篇ti湯on勒,就re吼qu慕ir蠢em爪en反t絲an嚴(yán)al掙ys襯is艙l架ay貸er棕i濾nc榨lu器di勵ng詠u雀se逐r趕ne斑ed帖s,竄f燈un避ct挺io竹na群l怨re合qu粘ir貴em蟲en蓬ts補(bǔ),采no似n-蹦fu夢nc吹ti據(jù)on遠(yuǎn)al穗r馬eq末ui憤re索me販nt家s,駱c西on鼻fi全gu醒ra出ti運on命r運eq見ui等re螞me存nt爹s,秧t換he給f躬ou鈔r忘me衰th蛙od秒s胳is頸i客nt跨ro捉du殼ce享d豐in禿d漿et升ai畢l;棒S表ys氣te提m妻st挨ru飛ct膝ur峽e垃la久ye杠r,叼t驕hi吳s柿fr蒜am裙ew三or襲k雀sy摘st呆em馳d獸ev柏el廈op育me爭nt帝a成re看i販nt銅ro各du傍ce王d品in苦d忘et枝ai鬼l,法i盟nc膛lu汪di茅ng呼m躬od載el憲d變es地ig爐n摸an瞎d匠da隊ta員t預(yù)ab蓄le賢d鴉es腥ig奸n鏡an亮d誕cl弊as感s友re刻la醫(yī)ti地on頭sh姻ip零s爬be徹tw鞭ee匠n烘me窯th競od治c松al殘ls鍵,壓wh用ic授h風(fēng)pr罩oc頑es油s項ha心ve迎c針or杠re畝sp臨on乞di依ng拒f題ig猛ur夏e泛re擦fe丹re奧nc永e.過I里n妥th敞is美p似ap茫er麥,最th微e膊te呈ch呈ni具ca糊l笛kn狗ow恨le酸dg陰e,佩m扣ai往nl榴y祝is會t恥he裂J陷2E繡E王op云en籮s牢ou更rc派e圾fr曾am柴ew那or茶k,錢a盲cc登or鍛di蠟ng徑t洞o疤au近th膛or上it平ie淘s,卷J敗2E葡E狗te徐ch考no咐lo福gy筒d尋ev族el鼓op向me臭nt催c鑰ur糕re明nt襖g攀lo縮ba葬l賤po乓pu純la創(chuàng)ri懷ty漂a夢nd鉤w睡il隱l蛾co白nt蔽in老ue無t寧o宇de塵ve興lo底p,貪t愁he上t極ec叢hn談ol削og抄y窯fo慌r斑th醉e慌pe表rs鈔on喂ne倆l筑wi身ll誦b改e防in且vo淹lv失ed何i牢n典so常ft康wa迅re綱d播ev棋el乎op融me囑nt鏈d戴ir院ec骨ti耀on探,槽im侵po摩rt肯an巡ce罵a彩nd割t乳he茶re夸i齊s虹no勤d艘ou氣bt帥t殼ha蹤t技it城w確il余l(xiāng)酸br興in聞g潛th前e板op陽po笛rt掀un品it預(yù)y,熄s略o共th槍is餅p表ap慕er色a避ls熱o碑in劈tr債od察uc貼es師t充he鄰J傘2E貴E凱fr傻am壇ew瓜or掘k停is喊u唐se弓d垂to歷.工Ma嶼in令ly遺t草o產(chǎn)th但e適th朽re職e鑄op難en虹s么ou跪rc里e搭fr殺am些ew艷or漸k培st胳ru搜ts章2延,勁Sp桌ri巾ng拾,喚Hi糖be寬rn斗at嗓e,隙t蓄he距b涂as種ic液f義ea塘tu讓re夸a徐nd委p閘ri弟nc象ip呈le呆w爆er太e史an鑼al耀yz題ed食,寧an陪d上at劍t擦he噴s寨am遲e登ti怖m(xù)e份a薄ls千o澤to頃A原ja痛x匪in拿te領(lǐng)ra助ct佛io澡n哭te急ch駕ni放qu弊es黎f慎or究e個ff港ec笨ti正ve竄a杰na遍ly弦si癢s,獻(xiàn)f碰in高al斧ly傻s呈um展ma旁ri榜ze繁s瞧th負(fù)e小de廚ve護(hù)lo朵pm彎en廁t轉(zhuǎn)pr注oj炮ec喉t.[KeyWords]SystemJ2EEAjaxframwork目錄TOC\o"1-3"\f\h\z\u1綜述52旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計72.1旅游網(wǎng)站管理系統(tǒng)介紹72.2旅游網(wǎng)站后臺管理系統(tǒng)需求分析82.2.1用戶需求82.2.2功能需求82.2.3非功能需求102.2.4配置需求102.3系統(tǒng)框架結(jié)構(gòu)設(shè)計112.3.1系統(tǒng)整體框架概述112.3.2數(shù)據(jù)表設(shè)計122.3.3系統(tǒng)的基本類模型設(shè)計142.4系統(tǒng)的基本功能實現(xiàn)182.4.1配置文件182.4.2添加功能212.4.3查詢功能232.4.4更新功能242.4.5刪除功能273操作界面展示293.1功能界面293.2詳細(xì)操作界面304主要使用技術(shù)介紹334.1Ajax技術(shù)334.2SSH技術(shù)335總結(jié)36參考文獻(xiàn)37聲明38致謝39附錄401綜述隨著計算機(jī)技術(shù)的發(fā)展,許多行業(yè)對計算機(jī)的應(yīng)用日益廣泛,尤其以JAVA為基礎(chǔ)的開發(fā)項目,比如軟件開發(fā),系統(tǒng)開發(fā)等,當(dāng)前JAVA語言使用量幾乎穩(wěn)居世界第一。與JAVA相關(guān)框架層出不窮,基于JAVA語言的優(yōu)勢,對其的研究應(yīng)該更為廣泛。作為一名大學(xué)計算機(jī)專業(yè)畢業(yè)的并且對JAVA尤其是J2EE方向的技術(shù)充滿濃厚興趣的的學(xué)生,更應(yīng)該學(xué)習(xí)掌握先前的技術(shù)(Struts2,Spring,Hibernate),并進(jìn)行實際項目開發(fā),獲得更多的開發(fā)經(jīng)驗,從而對編程尤其是JAVA方向的編程思想更深刻透徹,為自己以后在JAVA方向的開發(fā)研究奠定基礎(chǔ)。本次開發(fā)的旅游網(wǎng)站后臺管理系統(tǒng)基于J2EE,目的就是學(xué)習(xí)J2EE的Struts2、Hibernate、Spring三大開源框的使用,希望通過此次課題設(shè)計不斷提高自己對J2EE的掌握程度,積累更多的實踐經(jīng)驗。對于J2EE的發(fā)展現(xiàn)狀及前景,在舊金山舉行的2023年JavaOne大會上,甲骨文公司展示了其推動Java平臺企業(yè)版(JavaEE)發(fā)展的最新成果,JavaEE繼續(xù)大受歡迎,并有越來越多的開發(fā)人員采用,包括OracleGlassFishServer在內(nèi)的JavaEE組件獲得了4000萬次下載,自2023年12月推出以來,6個主要IT廠商已經(jīng)推出了經(jīng)過認(rèn)證、開源和商業(yè)實施的JavaEE6,使其成為迄今為止最迅速獲得采用的平臺產(chǎn)品,作為下一代JavaEE,JavaEE7進(jìn)展順利,其中,有超過20個的不同參與企業(yè)和數(shù)百名工程師通過Java社區(qū)(JCP)對10個活躍的Java規(guī)范要求(JSRs)進(jìn)行了開發(fā)處理,JavaEE7JSRs包括:JavaEE7平臺,JavaPersistenceAPI2.1,JAX-RS2.0,用于RESTful網(wǎng)絡(luò)服務(wù)的JavaAPI,Servlet3.1,表達(dá)語言3.0,Java信息服務(wù)2.0,JavaServerFaces2.2,EnterpriseJavaBeans3.2,面向JavaEE1.1的ContextsandDependencyInjection,BeanValidation1.1.等,JavaEE7專家組也在尋求把其他JSRs加入到JavaEE7的可能性,這些JSRs包括JCache1.0–JavaTemporaryCachingAPI,ConcurrencyUtilities1.0,Java狀態(tài)管理1.0和JavaIdentityAPI1.0。JavaEE7旨在進(jìn)一步增強(qiáng)JavaEE平臺的云環(huán)境,因此,基于JavaEE-7的應(yīng)用和產(chǎn)品將能夠在私有云和公有云中更方便地操作,并通過支持多用戶租用和彈性使用(如平行擴(kuò)展)等功能來實現(xiàn)功能即服務(wù),作為JavaEE的參考實施,GlassFish服務(wù)器不僅僅是全面的JavaEE6實施,(開源版是GlassFish服務(wù)器開源版,商業(yè)版是OracleGlassFish服務(wù)器),還為即將推出的JavaEE7提供了堅實的基礎(chǔ),OracleGlassFish服務(wù)器完善了OracleWebLogic服務(wù)器11g,后者是一款專門為運行Oracle融合中間件11g的廣泛產(chǎn)品組合以及可內(nèi)部部署和云部署的大規(guī)模企業(yè)應(yīng)用而設(shè)計的服務(wù)器,甲骨文在2023年JavaOne大會的136個聯(lián)合研討會、BOF和動手實驗室,以及JavaOne展覽館中對JavaEE及相關(guān)技術(shù)進(jìn)行了展示。J2EE技術(shù)當(dāng)前發(fā)展普及全球并會繼續(xù)發(fā)展[1]。本文的主要工作是對基于J2EE的旅游網(wǎng)站后臺管理系統(tǒng)開發(fā)詳細(xì)進(jìn)行介紹,其中按層次劃分,需求分析層包括用戶需求、功能需求、非功能需求、配置需求,在這四個方法進(jìn)行了詳細(xì)的介紹;系統(tǒng)結(jié)構(gòu)層,對本系統(tǒng)開發(fā)框架進(jìn)行了詳細(xì)介紹,包括類模型設(shè)計和數(shù)據(jù)表設(shè)計以及類之間方法調(diào)用關(guān)系,過程有相應(yīng)的圖據(jù)以參考。本文對技術(shù)性知識,主要是J2EE開源框架,據(jù)權(quán)威人士分析,J2EE技術(shù)當(dāng)前發(fā)展普及全球并會繼續(xù)發(fā)展,其技術(shù)會對于將會投入到軟件開發(fā)方向上的人員來說,重要性毫無疑問,其將會帶來的機(jī)會可想而知,所以本文也就使用到的J2EE框架進(jìn)行介紹。主要是對Struts2、Spring、Hibernate三大開源框架的基本功能特性和原理進(jìn)行分析.系統(tǒng)性的學(xué)習(xí)軟件開發(fā)流程,并在此過程中對J2EE開源框架的使用以及軟件開發(fā)思想進(jìn)行深一步理解。熟練項目開發(fā)全套工具及軟件的配套使用。2旅游網(wǎng)站后臺管理系統(tǒng)設(shè)計2.1旅游網(wǎng)站管理系統(tǒng)介紹一個強(qiáng)大的旅游網(wǎng)站應(yīng)該具有的功能有:景區(qū)景點展示、景點導(dǎo)航、詩詞游記管理、風(fēng)景圖片展示、精彩視頻管理、交通信息查詢、自助游。天氣預(yù)報、在線咨詢、在線幫助、在線調(diào)查、旅客評論、旅客投訴反饋、門票預(yù)定、酒店預(yù)定、餐飲預(yù)定、車位預(yù)定、導(dǎo)游預(yù)定、旅客論壇、旅客博客、特產(chǎn)購物管理、旅客流量統(tǒng)計、網(wǎng)站流量統(tǒng)計等。以上功能是旅游網(wǎng)站全方位描述,寫過項目的人都知道,一個系統(tǒng)的不同功能所用技術(shù)大致相同,本次設(shè)計著重學(xué)習(xí),特此主要是在新聞管理也就是景區(qū)基本信息管理,以及線路管理兩大功能及相關(guān)的的基礎(chǔ)上,對其幾個問題實現(xiàn)的具體功能進(jìn)行介紹分析。在景點基本信息功能一欄:以地區(qū)為總類別區(qū)分,對總類別可以添加、查看、更新、刪除,總類別只記錄類別名稱和形象圖片。在此基礎(chǔ)上,添加景點信息類別和景點詳細(xì)信息,景點類別只設(shè)名稱一列,詳細(xì)信息則包括名稱、熱度、形象圖片等。在景區(qū)圖片管理功能一欄:針對圖片類別設(shè)立類別CRUD功能,圖片添加在此基礎(chǔ)上進(jìn)行,對于圖片模塊,自定義圖片無限分類形式,對于圖片的大小,格式,展示效果進(jìn)行顯示控制。在景點視頻管理功能一欄:在總類別的基礎(chǔ)上,上傳自定義的格式視頻,其格式可以是avi,mpg,mp4,mv等常用格式,旅客可以將自己在旅游過程中拍攝的視頻在一定容量范圍內(nèi)上傳,后臺也可以上傳些對于景點的宣傳視頻。在旅游線路功能一欄:管理員可以對線路類別及線路詳細(xì)信息進(jìn)行CRUD操作,比如記錄線路出發(fā)城市、出發(fā)時間、持續(xù)時間、價錢、熱度等信息,方便旅客查詢,購票等。對于用戶信息管理、用戶訂單管理分別對用戶的基本信息,和訂單信息進(jìn)行對應(yīng)的操作,旅客評論上可以對旅客曾經(jīng)對景點視頻等做過的評論進(jìn)行管理,旅客可以對旅游過的景點進(jìn)行點評,交互意見等。另外附加功能一還有針對游客流量統(tǒng)預(yù)測計功能:在根據(jù)系統(tǒng)中存儲的歷史游客數(shù)據(jù),參考導(dǎo)游、門票、餐飲、酒店、停車位的預(yù)定量,結(jié)合天氣預(yù)報、游客流量走勢、景區(qū)接待量、民俗節(jié)日、國家法定節(jié)假日、宗教節(jié)日、景區(qū)節(jié)日等方面,通過一定的推測原理推測出未來某月、某周、某日、某地的游客流量記錄。附加功能二便是針對當(dāng)前網(wǎng)站流量統(tǒng)計:統(tǒng)計分析分別以年、月、日、時段為單位對網(wǎng)站整體訪問量,統(tǒng)計分析全球來訪IP的區(qū)域,統(tǒng)計分析網(wǎng)站各主要頻道的訪問量,統(tǒng)計分析各主要搜索引擎對網(wǎng)站的搜索頻率,可以把結(jié)果用餅狀圖或柱狀圖展現(xiàn)出來。下面對本次的設(shè)計進(jìn)行詳細(xì)傳述。2.2旅游網(wǎng)站后臺管理系統(tǒng)需求分析2.2.1用戶需求時代在進(jìn)步,人們生活水平不斷提高,從而變得不僅對物質(zhì)生活的要求高,而且越來越注重精神上的享受。旅游是人們尋求精神上的愉快感受的一種形式,讓人們對此興趣日益高升,所以旅游業(yè)的發(fā)展是社會發(fā)展人們生活水平提高的必然趨勢。當(dāng)今世道,計算機(jī)互聯(lián)網(wǎng)的不斷發(fā)展為旅游提供了方便,躍然旅游信息量越來越大,涉及全國各地乃至世界,其業(yè)務(wù)操作中設(shè)計的各種路線信息,客戶情況,各旅游協(xié)作部門越來越復(fù)雜多變,人們對信息的撐握重要性越來越高,為滿足人們對旅游信息收集,方便人們快捷辦理門票、交通、餐用等手續(xù),旅游網(wǎng)站的發(fā)展也就在情理之中了。所以,從網(wǎng)站開發(fā)的角度考慮出發(fā),網(wǎng)站按功能模塊進(jìn)行分割,然后將旅游各種信息通過網(wǎng)站建設(shè)發(fā)布到網(wǎng)絡(luò)上,對于旅客來說,這無疑提供了無上方便快捷,給有心出門旅行的人們以快捷,在家中就可以輕松做好旅行規(guī)劃。網(wǎng)站的內(nèi)容以唯美的圖片、生動形象的FLASH展示、拍攝的精美視頻,優(yōu)美的音樂,詳細(xì)的信息,清晰的線路等吸引越來越多的旅客,并可以使旅客通過訪問網(wǎng)站的方式了解旅行目的地的相關(guān)情況以及線路策劃與安排等等。目前旅游網(wǎng)絡(luò)門戶類型主要有三種類型,門戶網(wǎng)站旅游頻道的綜合信息服務(wù)類、傳統(tǒng)類旅行社網(wǎng)站、第三方旅游中介服務(wù)網(wǎng)站。隨著中國人民生活水平的的不斷提高,旅游業(yè)的發(fā)展有望得到進(jìn)一步的突破。因此,具有現(xiàn)代化的互聯(lián)網(wǎng)多媒體信息技術(shù)的旅游網(wǎng)站的建設(shè)具有不可估量的意義。2.2.2功能需求如下是該系統(tǒng)的一個基本的用例圖:圖2-1系統(tǒng)用例圖下面以本次開發(fā)的功能劃分,分為添加、讀取、更新、刪除四個主要功能。從功能層面上來劃分的話,四個功能操作的數(shù)據(jù)以及中間涉及的方法調(diào)用流程大體相似。本旅游網(wǎng)站的后臺管理基本功能如下:基本信息的添加:包括景點基本信息、圖片基本作息、視頻基本信息、線路基本信息添加。主要是用戶或者管理員通過JSP頁面進(jìn)行數(shù)據(jù)錄入并提交頁面,由Struts2的filter攔截進(jìn)入Struts2的action對應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁面。圖2-2用例圖基本信息的讀取:包括景點基本信息、圖片基本信息、視頻基本信息、線路基本信息、用戶相關(guān)信息等。主要是用戶或者管理員通過JSP頁面進(jìn)行數(shù)據(jù)錄入并提交頁面,由Struts2的filter攔截進(jìn)入Struts2的action對應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁面。圖2-3用例圖基本信息的更新:包括景點基本信息、圖片基本作息、視頻基本信息、線路基本信息更新。主要是用戶或者管理員通過JSP頁面進(jìn)行數(shù)據(jù)錄入并提交頁面,由Struts2的filter攔截進(jìn)入Struts2的action對應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁面。圖2-4用例圖基本信息的刪除:包括景點基本信息、圖片基本作息、視頻基本信息、線路基本信息刪除。主要是用戶或者管理員通過JSP頁面進(jìn)行數(shù)據(jù)錄入并提交頁面,由Struts2的filter攔截進(jìn)入Struts2的action對應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁面。圖2-5用例圖2.2.3非功能需求功能性:在功能上要滿足旅游網(wǎng)站的常規(guī)操作,對于客戶來說,客戶可以瀏覽查詢自己需要的數(shù)據(jù),可以下訂單,可以將當(dāng)前查詢或者是收錄的信息存儲到自己的比如收藏夾,用記可以對自己的個人信息進(jìn)行錄入更改,還有進(jìn)行一些自己數(shù)據(jù)的刪除。對于管理員來說,管理員有對旅游信息的添加查詢更新刪除的權(quán)限,還有對客戶的部分信息進(jìn)行管理,比如查看,甚者可以是刪除,管理員也可以對自己的基本信息進(jìn)行管理。安全性:該系統(tǒng)功能上應(yīng)具有較高的安全性,關(guān)鍵是要防止非法用戶進(jìn)入系統(tǒng)修改、刪除后臺數(shù)據(jù),黑客切取用戶資料,用戶對景點信息的操作權(quán)限等。為防止這些情況的發(fā)生,可在用戶數(shù)據(jù)傳輸過程中用MD5算法對用戶數(shù)據(jù)加密存儲,在后臺操作數(shù)據(jù)進(jìn)行身份驗證。c.可靠性:該系統(tǒng)應(yīng)具備較好的穩(wěn)定性,能存儲較大的數(shù)據(jù)量,在多用戶并發(fā)訪問環(huán)境下可以保重系統(tǒng)正常運行,不會產(chǎn)生干擾操作,在數(shù)據(jù)數(shù)據(jù)庫的選取以及表的設(shè)計方面應(yīng)注意效率,比如給需要經(jīng)常訪問的屬性列建立索引,適當(dāng)增加服務(wù)器內(nèi)存等。d.易用性:由于本系統(tǒng)將采用B/S三層架構(gòu),客戶使用的瀏覽器類型以及版本多種多樣,在對頁面展示方面要處理好不同瀏覽器的顯示效果,要讓用戶有較好的瀏覽體驗。e.易維護(hù)性:該系統(tǒng)以J2EE三大框架為支撐,在開發(fā)過程中盡量采用面向接口編程,避免將程序直接寫死的情況,遵循低耦合的設(shè)計原則,增加系統(tǒng)的可擴(kuò)展性和可維護(hù)性。2.2.4配置需求本次旅游網(wǎng)站后臺管理系統(tǒng)采用B/S架構(gòu),服務(wù)器使用Tomcat,數(shù)據(jù)庫采用MySQL,開發(fā)工具M(jìn)yEclipse,操作系統(tǒng)Windows7。2.3系統(tǒng)框架結(jié)構(gòu)設(shè)計2.3.1系統(tǒng)整體框架概述該旅游網(wǎng)站后臺管理系統(tǒng)的整體框架如圖:圖2-6系統(tǒng)框架圖該系統(tǒng)采用J2EE的Struts2,Spring,Hibernate框架對過程進(jìn)行控制并對站內(nèi)數(shù)據(jù)進(jìn)行操作,前臺提交頁面數(shù)據(jù)到后臺,通過Struts2的filter進(jìn)行攔截,將數(shù)據(jù)提交到Struts2的action操作里進(jìn)行處理,action方法則通過Hibernate操作數(shù)據(jù)庫數(shù)據(jù),Spring貫穿在Strust2和Hibernate的整個過程,主動創(chuàng)建程序過程需要的對象。整個過程主要采用面向接口編程,Jsp頁面的數(shù)據(jù)交互技術(shù)運用Ajax。主要數(shù)據(jù)操作功能有create、read、update、delete也就是數(shù)據(jù)的增刪改查。該系統(tǒng)的基本時序如圖:圖2-7系統(tǒng)時序圖該時序圖說明:程序執(zhí)行流程,從客戶端提交JSP頁面請求開始,通過tomcat服務(wù)器,頁面請求數(shù)據(jù)被Struts2的Filter攔截,數(shù)據(jù)傳送至Struts2的action里,action調(diào)用model進(jìn)行對應(yīng)數(shù)據(jù)的獲取,具體數(shù)據(jù)操作,由action調(diào)用上層管理接口manageDAO,上層管理接口調(diào)用自己的特定實現(xiàn)manageDAOImp去進(jìn)行操作,manageDAOImp再調(diào)用模型操作上級接口modelDAO,再由該接口調(diào)用自己的實現(xiàn)modelDAOimp去直接操作數(shù)據(jù)庫Database,最后操作結(jié)果由action返回至JSP結(jié)果頁面,而Spring的DI功能貫穿整個過程,主要是Struts2和Hibernate相互操作的過程的創(chuàng)建對象。2.3.2數(shù)據(jù)表設(shè)計該系統(tǒng)存儲信息類型較多,主要應(yīng)用數(shù)據(jù)表及結(jié)構(gòu)如下:admininfo_class:information:line_class:line_info:picture_class:picture_info:top_belong:video:2.3.3系統(tǒng)的基本類模型設(shè)計本項目以action,service,dao,daoimp,model方式分層,其類調(diào)用關(guān)系如下:圖2-8層次調(diào)用關(guān)系根據(jù)此分層開發(fā)思想,該項目的開發(fā)包圖如下:圖2-9系統(tǒng)包圖在以上的基礎(chǔ)上,設(shè)計的類與包的關(guān)系圖如下:action包:service包:dao包:daoimp包:model包:根據(jù)本項目的需求,對各類內(nèi)部進(jìn)行設(shè)計,由調(diào)用的關(guān)系圖2-8可知,每一層的方法相同以滿足調(diào)用,這里只寫出action包中主要類的方法:管理員類:信息類別類:信息詳細(xì)類:線路類別類:線路詳細(xì)類:圖片類別類:圖片詳細(xì)類:總屬類:視頻類:以Information類create方法調(diào)用為例,關(guān)系如下:圖2-10方法調(diào)用詳細(xì)2.4系統(tǒng)的基本功能實現(xiàn)2.4.1配置文件配置文件主要有兩個beans.xml和struts.xml。其中beans.xml配置,主要實現(xiàn)數(shù)據(jù)源鏈接,SessionFactory以及HibernareTemplate的bean生成,代碼如下:<beanid="dataSource"class="org.apachemons.dbcp.BasicDataSource"destroy-method="close"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost:3306/travel"/><propertyname="username"value="root"/><propertyname="password"value="root"/></bean><beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="packagesToScan"><list><value>.model</value></list></property><propertyname="hibernateProperties"><props><propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><propkey="hibernate.show_sql">true</prop><propkey="hibernate.format_sql">true</prop><propkey="hibernate.hbm2ddl.auto">update</prop></props></property></bean><beanid="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate"><propertyname="sessionFactory"ref="sessionFactory"></property></bean>其中struts.xml配置,實現(xiàn)頁面跳轉(zhuǎn)映射,主要代碼如下:<actionname="basePage"><result>/back/basepage.jsp</result></action><actionname="adminLoginPage"class=".action.AdminAction"></action>Action"><result>/back/top_belong_create.jsp</result><resultname="show">/back/top_belong_show.jsp</result><resultname="update">/back/top_belong_update.jsp</result></action><actionname="infoClass"class=".action.InfoClassAction"><result>/back/info_class_create.jsp</result><resultname="show">/back/info_class_show.jsp</result><resultname="update">/back/info_class_update.jsp</result></action><actionname="information"class=".action.InformationAction"><result>/back/information_create.jsp</result><resultname="show">/back/information_show.jsp</result><resultname="update">/back/information_update.jsp</result></action><actionname="pictureClass"class=".action.PictureClassAction"><result>/back/picture_class_create.jsp</result><resultname="show">/back/picture_class_show.jsp</result><resultname="update">/back/picture_class_update.jsp</result></action><actionname="pictureInfo"class=".action.PictureInfoAction"><result>/back/picture_info_create.jsp</result><resultname="show">/back/picture_info_show.jsp</result><resultname="update">/back/picture_info_update.jsp</result></action><actionname="video"class=".action.VideoAction"><result>/back/video_create.jsp</result><resultname="show">/back/video_show.jsp</result><resultname="update">/back/video_update.jsp</result></action><actionname="lineClass"class=".action.LineClassAction"><result>/back/line_class_create.jsp</result><resultname="show">/back/line_class_show.jsp</result><resultname="update">/back/line_class_update.jsp</result></action><actionname="lineInfo"class=".action.LineInfoAction"><result>/back/line_info_create.jsp</result><resultname="show">/back/line_info_show.jsp</result><resultname="update">/back/line_info_update.jsp</result></action><actionname="undoPage"class=".action.UndoAction"><result>/back/undopage.jsp</result></action>2.4.2添加功能不同數(shù)據(jù)相同操作方法相似,流程大致相同,這里只例舉景點信息的功能方法。景點詳細(xì)信息的添加實現(xiàn):(InformationAction)publicStringcreate()throwsIOException{HttpServletResponseresponse=ServletActionContext.getResponse();PrintWriterpw=response.getWriter();if(informationService.exists(this.getTitle())){pw.write(title+"isalreadyexists");returnnull;}TopBelongtb=newTopBelong();tb.setId(this.getTopId());InfoClassic=newInfoClass();ic.setId(this.getClassId());Informationi=newInformation();i.setTitle(this.getTitle());i.setAuthor(this.getAuthor());i.setContent(this.getContent());i.setResource(this.getResource());i.setTopId(tb);i.setClassId(ic);i.setClicks(0);Dated=newDate();Stringsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(d);i.setAddTime(sdf);if(image!=null){Stringupload="\\upLoadImages";Stringrealpath=ServletActionContext.getServletContext().getRealPath(upload);uploadImage(realpath,pw);i.setImagePath(upload+"\\"+this.getImage());}informationService.create(i);pw.write("informationaddsuccess");returnnull;}圖2-11信息創(chuàng)建方法調(diào)用圖該create()方法,封裝Information對象調(diào)用InformationService的create()方法:(InformationService)publicvoidcreate(Informationi){informationDao.create(i);}該create()方法又調(diào)用InformationDao接口的create()方法InformationDao的抽象方法publicvoidcreate(Informationi);該方法又由子類InformationDaoImp的create()方法去實現(xiàn)publicvoidcreate(Informationi){hibernateTemplate.save(i);}最后由HibernateTemplate的save()方法,操作數(shù)據(jù)庫并保存。2.4.3查詢功能景點信息的查詢主要實現(xiàn):(InforamtionAction)publicStringreadAll(){this.setInforamtions(informationService.readAll());return"show";}在當(dāng)前類里用一對象informations來存儲查詢結(jié)果信息,該方法調(diào)用InformationService的readAll()(InformationService)publicList<Information>readAll(){returninformationDao.readAll();}此處用一集合來存儲返回的對象,該方法調(diào)用InformationDao上級接口的readAll()方法,然后InformationDao用其子類的InformationDaoImp的實現(xiàn)(InformationDaoImp)publicList<Information>readAll(){returnhibernateTemplate.find("fromInformation");}此方法用HQL語言直接操作數(shù)據(jù)庫進(jìn)行查詢。流程如圖2-12.圖2-12信息查詢調(diào)用2.4.4更新功能景點信息的更新主要實現(xiàn):(InformationAction)publicStringupdate()throwsIOException{HttpServletResponseresponse=ServletActionContext.getResponse();PrintWriterpw=response.getWriter();booleanalreadyExists=false;if(informationService.exists(this.getTitle())){alreadyExists=true;}TopBelongtb=newTopBelong();tb.setId(this.getTopId());InfoClassic=newInfoClass();ic.setId(this.getClassId());Informationi=newInformation();i.setId(this.getId());i.setTitle(this.getTitle());i.setAuthor(this.getAuthor());i.setContent(this.getContent());i.setResource(this.getResource());i.setTopId(tb);i.setClassId(ic);Dated=newDate();Stringsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(d);i.setAddTime(sdf);if(image!=null){Stringupload="\\upLoadImages";Stringrealpath=ServletActionContext.getServletContext().getRealPath(upload);uploadImage(realpath,pw);i.setImagePath(upload+"\\"+this.getImage());}Stringresult=informationService.update(i,alreadyExists);pw.write(result);returnnull;}此方法同create()方法一樣先封裝Information對象,再調(diào)用InformationService的update方法(InformationService)publicStringupdate(Informationi,booleanalreadyExists){returninformationDao.update(i,alreadyExists);}然后接著調(diào)用InformationDao上級接口,用InformationDao的實現(xiàn)InformationDaoImp的update方法(InformationDaoImp)publicStringupdate(Informationi,booleanalreadyExists){Informationinfo=(Information)hibernateTemplate.get(Information.class,i.getId());if(alreadyExists&&i.getId()!=info.getId()){return"the"+i.getTitle()+"alreadyexists";}if(i.getTitle().length()>0)info.setTitle(i.getTitle());if(i.getAuthor().length()>0)info.setAuthor(i.getAuthor());if(i.getContent().length()>0)info.setContent(i.getContent());if(i.getResource().length()>0)info.setResource(i.getResource());info.setClassId(i.getClassId());info.setTopId(i.getTopId());info.setAddTime(i.getAddTime());hibernateTemplate.saveOrUpdate(info);return"number"+i.getId()+":updatesuccess";}該update方法中,選通過傳來的Information對象進(jìn)行Load操作,將load出來的對象與當(dāng)前對象比較,對數(shù)據(jù)變化了的進(jìn)行更新操作,沒變化的則不用更新。流程如圖2-13:圖2-13信息更新調(diào)用圖2.4.5刪除功能景點信息的刪除主要實現(xiàn):(InformationAction)publicStringdelete()throwsIOException{HttpServletResponseresponse=ServletActionContext.getResponse();PrintWriterpw=response.getWriter();if(!informationService.existsById(this.getId())){pw.write("theobjectalreadydelete");returnnull;}Informationi=newInformation();i.setId(this.getId());informationService.delete(i);pw.write("deletesuccess");returnnull;}該方法封裝一個由前后提交的具有id的Information對象,調(diào)用InformationService的delete()(InformationService)publicvoiddelete(Informationi){informationDao.delete(i);}該方法調(diào)用InformationDao上級接口,用其子類InformationDaoImp的delete()方法實現(xiàn)publicvoiddelete(Informationi){hibernateTemplate.delete(i);}該方法里調(diào)用HibernateTemplate的delete()方法實現(xiàn)最后數(shù)據(jù)庫數(shù)據(jù)的刪除。流程如下2-14:圖2-14信息刪除調(diào)用圖3操作界面展示3.1功能界面功能欄目界面:分為圖中8個模塊其中景點基本信息欄目詳細(xì)如圖所示,管理員可以對總類別、信息類別、信息詳細(xì)進(jìn)行CRUD操作其中景區(qū)圖片欄目詳細(xì)如圖所示,管理員可以對圖片類別及圖片詳細(xì)進(jìn)行CRUD操作景點視頻管理欄目,相對簡單,僅對視頻進(jìn)行相關(guān)操作其中旅游線路欄目如圖,則對線路類別和線路詳細(xì)進(jìn)行CRUD操作以下是用戶相關(guān)的操作3.2詳細(xì)操作界面操作界面多,些處只舉幾個界面以觀成效。管理員登錄界面:后面的紅星代表必輸選項總類別添加界面:紅色部分是用Ajax提交過后,交互的顯示結(jié)果,表示添加成功查看總類別界面:其查看列表分頁顯示,后面的更新、刪除操作可以直接對當(dāng)前對象進(jìn)行如更新總類別界面:當(dāng)提交更新的資料后,在后臺會先load與之相應(yīng)的目標(biāo)對象出來,再與之比較,對于變化了的屬性進(jìn)行更新,沒變化的則不更新。刪除總類別界面:當(dāng)點擊刪除時,會彈出提示窗口,是否真的要刪除,點擊確定則刪除,點擊取消則返回原來的界面。4主要使用技術(shù)介紹4.1Ajax技術(shù)AJAX即“AsynchronousJavaScriptandXML”(異步JavaScript和XML),主要包含了以下幾種技術(shù):a.基于web標(biāo)準(zhǔn)(standards-basedpresentation)XHTML+CSS的表示;b.使用DOM(DocumentObjectModel)進(jìn)行動態(tài)顯示及交互;c.使用XML和XSLT進(jìn)行數(shù)據(jù)交換及相關(guān)操作;d.使用XMLHttpRequest進(jìn)行異步數(shù)據(jù)查詢、檢索;傳統(tǒng)的web應(yīng)用允許用戶填寫表單(form),當(dāng)提交表單時就向web服務(wù)器發(fā)送一個請求,服務(wù)器接收并處理傳來的表單,然後返回一個新的網(wǎng)頁,這個做法浪費了許多帶寬,因為在前後兩個頁面中的大部分HTML代碼往往是相同的,由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請求,應(yīng)用的響應(yīng)時間就依賴于服務(wù)器的響應(yīng)時間,這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多,與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的webservice接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng),因為在服務(wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用,同時很多的處理工作可以在發(fā)出請求的客戶端機(jī)器上完成,所以Web服務(wù)器的處理時間也減少了,使用Ajax的最大優(yōu)點,就是也動態(tài)刷新部分?jǐn)?shù)據(jù),能在不更新整個頁面的前提下維護(hù)數(shù)據(jù),這樣寫出的Web應(yīng)用程序更為迅捷地回應(yīng)用戶動作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息,交互感更強(qiáng),Ajax技術(shù)的運用不需要瀏覽器插件的協(xié)助,只要用的的瀏覽器能執(zhí)行JavaScript就行,當(dāng)然我想一般的瀏覽器都能,就像DHTML應(yīng)用程序那樣,Ajax應(yīng)用程序是在眾多不同的瀏覽器和平臺上經(jīng)過嚴(yán)格的測試的,現(xiàn)在Ajax技術(shù)的成熟越來越成熟,一些簡化Ajax使用方法的程序庫也相繼問世,同樣,也出現(xiàn)了另一種輔助程序設(shè)計的技術(shù),為那些不支持JavaScript的用戶提供替代功能[2]。4.2SSH技術(shù)Struts2:Struts2是Struts1的下一代產(chǎn)品,是在struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架,其實技術(shù)上來說,Struts2的技術(shù)幾乎完全繼續(xù)WebWork的技術(shù),只是名字看似在Struts1的基礎(chǔ)上發(fā)展,實際兩版本完全不同,因為當(dāng)時Struts1應(yīng)用量很廣,比WebWork牛,但技術(shù)不比WebWork好,為長期發(fā)展,所以Struts1與WebWork合作出了Struts2。下面以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求。其原理圖如下:圖3-1Spring:Spring是一個開源框架,Spring是于2003年興起的一個輕量級的Java開發(fā)框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的,其功能是使用基本的JavaBean代替EJB,提供多種企業(yè)級應(yīng)用,其主要有兩大核心功能:其是IoC,Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合,當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象,你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它;其二是AOP,Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論