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

下載本文檔

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

文檔簡(jiǎn)介

本科生畢業(yè)論文(設(shè)計(jì))題目基于J2EE的旅游網(wǎng)站后臺(tái)管理系統(tǒng)設(shè)計(jì)學(xué)院計(jì)算機(jī)學(xué)院蛛倆糟首專(zhuān)肢瓜違業(yè)行名揪蛛見(jiàn)計(jì)算棄機(jī)科席學(xué)與綿技術(shù)隙理盲曠盼諸蹲仙穿東學(xué)椅生姓毀名水XX窩XX今避茄株學(xué)酒撿芝號(hào)排XX勺XX拾XX意XX姨XX嶄年級(jí)迷享聞20死09東級(jí)崗笑固春臘指止導(dǎo)教蠻師姜XX劫XX什XX微XX巡X弱教務(wù)阻處制啊表恢二保Ο疲一三蔥年吵五容月黎二友十涼日TITLE此處填寫(xiě)論文題目仔基于革J2張EE念的旅徹游網(wǎng)屑站后篩臺(tái)管辨理系史統(tǒng)設(shè)矩計(jì)擾計(jì)算穴機(jī)科辭學(xué)與倆技術(shù)富學(xué)生療:X導(dǎo)XX飯X匙指導(dǎo)呢老師檢:X租XX編XX兆[摘擊要]銜定隨著帽計(jì)算耀機(jī)技介術(shù)的額發(fā)展賺,許劑多行覺(jué)業(yè)對(duì)婆計(jì)算坦機(jī)的專(zhuān)應(yīng)用久日益階廣泛觀,尤介其以胸JA罩VA緣語(yǔ)言渠為基稿礎(chǔ)的濫開(kāi)發(fā)歌項(xiàng)目咐,比展如軟膀件開(kāi)沃發(fā),皮系統(tǒng)五開(kāi)發(fā)挑等,墊當(dāng)前勝JA廳VA蛇語(yǔ)言襖使用汪量幾期乎穩(wěn)深居世們界第第一。伍與J惠AV喝A相說(shuō)關(guān)框阻架層駝出不歇窮,浙基于戚JA聯(lián)VA故語(yǔ)言幻的優(yōu)旺勢(shì),導(dǎo)對(duì)其攪的研妥究應(yīng)虛該更耽為廣淹泛??浔疚目貙?duì)基號(hào)于J羊2E刺E的補(bǔ)旅游息網(wǎng)站相后臺(tái)愁管理緩系統(tǒng)溪開(kāi)發(fā)艇詳細(xì)史進(jìn)行熊介紹級(jí),其漏中按庸層次兆劃分倡,需漫求分學(xué)析層打包括嘴用戶(hù)異需求違、功惑能需粒求、壓非功哪能需烈求、享配置江需求桌,在尊這四少個(gè)方顆法進(jìn)外行了親詳細(xì)額的介會(huì)紹;助系統(tǒng)緞結(jié)構(gòu)慢層,般對(duì)本韻系統(tǒng)藏開(kāi)發(fā)步框架賠進(jìn)行貼了詳理細(xì)介知紹,宰包括躲類(lèi)模色型設(shè)都計(jì)和眾數(shù)據(jù)鉛表設(shè)衣計(jì)以瞇及類(lèi)紙之間厘方法碎調(diào)用努關(guān)系魯,過(guò)映程有噴相應(yīng)鍋的圖勢(shì)據(jù)以深參考蘿。本俱文對(duì)蘭技術(shù)焰性知胞識(shí),皮主要糟是J更2E桂E開(kāi)依源框聚架,外據(jù)權(quán)紅威人蠢士分雅析,衫J2霧EE懶技術(shù)炎當(dāng)前舌發(fā)展葵普及租全球敏并會(huì)徒繼續(xù)喘發(fā)展難,其明技術(shù)愉會(huì)對(duì)爭(zhēng)于將進(jìn)會(huì)投龜入到濾軟件杰開(kāi)發(fā)山方向峽上的豎人員棕來(lái)說(shuō)濁,重睛要性蓮毫無(wú)猜疑問(wèn)橫,其坑將會(huì)煤帶來(lái)?yè)竦臋C(jī)加會(huì)可邪想而塊知,嚇?biāo)匀疚亩岩簿桶鞘褂米牡降娜軯2謊EE色框架代進(jìn)行傻介紹凱。主所要是營(yíng)對(duì)S償tr汗ut黑s2卵、S吳pr技in賣(mài)g、殼Hi精be衫rn除at欠e三民大開(kāi)堡源框濟(jì)架的確基本銹功能獄特性后和原認(rèn)理進(jìn)勻行分柔析,詠同時(shí)廣也對(duì)襖Aj尖ax既交互叔技術(shù)躍進(jìn)行河有效紅分析叼,最顆后總蘿結(jié)本神次開(kāi)骨發(fā)項(xiàng)勺目收懸獲。怕[關(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隊(duì)Co兇mp店ut老er寧s酸ci浸en后ce制僑&直te厲ch嗓no滑lo汁gy殺St炭ud量en風(fēng)t:扯理ZH計(jì)AN皂G獲筒Xx斷x留Ad急vi牽se珍r:貸撐CH獻(xiàn)EN愧貌Xx盤(pán)x機(jī)-股xx生x[Abstract]遷Wi跡th勢(shì)t瓶he朱d運(yùn)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測(cè)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勢(shì)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愛(ài)ge焦u倘sa貞ge鄙a穩(wěn)lm排os私t塌ra茂nk怒s霉fi向rs頌t武in秒t繩he炊w半or武ld隙.兩As頁(yè)so爪ci隔at兼ed態(tài)w屋it渾h慶th甲e假JA越VA哪f波ra含me男wo你rk待s釘em摩er驕ge鳥(niǎo)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級(jí)th誼is湯p率ap杏er界,謀th憑e敲tr莊av松el望w慕eb街si判te評(píng)b霉ac誕ks寸ta累ge鴉m宏an渾ag夏em臺(tái)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勵(lì)ng詠u雀se逐r趕ne斑ed帖s,竄f燈un避ct挺io竹na群l怨re合qu粘ir貴em蟲(chóng)en蓬ts補(bǔ),采no似n-蹦fu夢(mèng)nc吹ti據(jù)on遠(yuǎn)al穗r馬eq末ui憤re索me販nt家s,駱c西on鼻fi全gu醒ra出ti運(yùn)on命r運(yùn)eq見(jiàn)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爭(zhēng)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隊(duì)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競(jìng)od治c松al殘ls鍵,壓wh用ic授h風(fēng)pr罩oc頑es油s項(xiàng)ha心ve迎c針or杠re畝sp臨on乞di依ng拒f題ig猛ur夏e泛re擦fe丹re奧nc永e.過(guò)I里n妥th敞is美p似ap茫er麥,最th微e膊te呈ch呈ni具ca糊l笛kn狗ow恨le酸dg陰e,佩m扣ai往nl榴y祝is會(huì)t恥he裂J陷2E繡E王op云en籮s牢ou更rc派e圾fr曾am柴ew那or茶k,錢(qián)a盲cc登or鍛di蠟ng徑t洞o疤au近th膛or上it平ie淘s,卷J敗2E葡E狗te徐ch考no咐lo福gy筒d尋ev族e(cuò)l鼓op向me臭nt催c鑰ur糕re明nt襖g攀lo縮ba葬l賤po乓pu純la創(chuàng)ri懷ty漂a夢(mèng)nd鉤w睡il隱l蛾co白nt蔽in老ue無(wú)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棋e(cuò)l乎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陽(yáng)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個(gè)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ái)管理系統(tǒng)設(shè)計(jì)72.1旅游網(wǎng)站管理系統(tǒng)介紹72.2旅游網(wǎng)站后臺(tái)管理系統(tǒng)需求分析82.2.1用戶(hù)需求82.2.2功能需求82.2.3非功能需求102.2.4配置需求102.3系統(tǒng)框架結(jié)構(gòu)設(shè)計(jì)112.3.1系統(tǒng)整體框架概述112.3.2數(shù)據(jù)表設(shè)計(jì)122.3.3系統(tǒng)的基本類(lèi)模型設(shè)計(jì)142.4系統(tǒng)的基本功能實(shí)現(xiàn)182.4.1配置文件182.4.2添加功能212.4.3查詢(xún)功能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ì)算機(jī)技術(shù)的發(fā)展,許多行業(yè)對(duì)計(jì)算機(jī)的應(yīng)用日益廣泛,尤其以JAVA為基礎(chǔ)的開(kāi)發(fā)項(xiàng)目,比如軟件開(kāi)發(fā),系統(tǒng)開(kāi)發(fā)等,當(dāng)前JAVA語(yǔ)言使用量幾乎穩(wěn)居世界第一。與JAVA相關(guān)框架層出不窮,基于JAVA語(yǔ)言的優(yōu)勢(shì),對(duì)其的研究應(yīng)該更為廣泛。作為一名大學(xué)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)的并且對(duì)JAVA尤其是J2EE方向的技術(shù)充滿(mǎn)濃厚興趣的的學(xué)生,更應(yīng)該學(xué)習(xí)掌握先前的技術(shù)(Struts2,Spring,Hibernate),并進(jìn)行實(shí)際項(xiàng)目開(kāi)發(fā),獲得更多的開(kāi)發(fā)經(jīng)驗(yàn),從而對(duì)編程尤其是JAVA方向的編程思想更深刻透徹,為自己以后在JAVA方向的開(kāi)發(fā)研究奠定基礎(chǔ)。本次開(kāi)發(fā)的旅游網(wǎng)站后臺(tái)管理系統(tǒng)基于J2EE,目的就是學(xué)習(xí)J2EE的Struts2、Hibernate、Spring三大開(kāi)源框的使用,希望通過(guò)此次課題設(shè)計(jì)不斷提高自己對(duì)J2EE的掌握程度,積累更多的實(shí)踐經(jīng)驗(yàn)。對(duì)于J2EE的發(fā)展現(xiàn)狀及前景,在舊金山舉行的2023年JavaOne大會(huì)上,甲骨文公司展示了其推動(dòng)Java平臺(tái)企業(yè)版(JavaEE)發(fā)展的最新成果,JavaEE繼續(xù)大受歡迎,并有越來(lái)越多的開(kāi)發(fā)人員采用,包括OracleGlassFishServer在內(nèi)的JavaEE組件獲得了4000萬(wàn)次下載,自2023年12月推出以來(lái),6個(gè)主要IT廠商已經(jīng)推出了經(jīng)過(guò)認(rèn)證、開(kāi)源和商業(yè)實(shí)施的JavaEE6,使其成為迄今為止最迅速獲得采用的平臺(tái)產(chǎn)品,作為下一代JavaEE,JavaEE7進(jìn)展順利,其中,有超過(guò)20個(gè)的不同參與企業(yè)和數(shù)百名工程師通過(guò)Java社區(qū)(JCP)對(duì)10個(gè)活躍的Java規(guī)范要求(JSRs)進(jìn)行了開(kāi)發(fā)處理,JavaEE7JSRs包括:JavaEE7平臺(tái),JavaPersistenceAPI2.1,JAX-RS2.0,用于RESTful網(wǎng)絡(luò)服務(wù)的JavaAPI,Servlet3.1,表達(dá)語(yǔ)言3.0,Java信息服務(wù)2.0,JavaServerFaces2.2,EnterpriseJavaBeans3.2,面向JavaEE1.1的ContextsandDependencyInjection,BeanValidation1.1.等,JavaEE7專(zhuān)家組也在尋求把其他JSRs加入到JavaEE7的可能性,這些JSRs包括JCache1.0–JavaTemporaryCachingAPI,ConcurrencyUtilities1.0,Java狀態(tài)管理1.0和JavaIdentityAPI1.0。JavaEE7旨在進(jìn)一步增強(qiáng)JavaEE平臺(tái)的云環(huán)境,因此,基于JavaEE-7的應(yīng)用和產(chǎn)品將能夠在私有云和公有云中更方便地操作,并通過(guò)支持多用戶(hù)租用和彈性使用(如平行擴(kuò)展)等功能來(lái)實(shí)現(xiàn)功能即服務(wù),作為JavaEE的參考實(shí)施,GlassFish服務(wù)器不僅僅是全面的JavaEE6實(shí)施,(開(kāi)源版是GlassFish服務(wù)器開(kāi)源版,商業(yè)版是OracleGlassFish服務(wù)器),還為即將推出的JavaEE7提供了堅(jiān)實(shí)的基礎(chǔ),OracleGlassFish服務(wù)器完善了OracleWebLogic服務(wù)器11g,后者是一款專(zhuān)門(mén)為運(yùn)行Oracle融合中間件11g的廣泛產(chǎn)品組合以及可內(nèi)部部署和云部署的大規(guī)模企業(yè)應(yīng)用而設(shè)計(jì)的服務(wù)器,甲骨文在2023年JavaOne大會(huì)的136個(gè)聯(lián)合研討會(huì)、BOF和動(dòng)手實(shí)驗(yàn)室,以及JavaOne展覽館中對(duì)JavaEE及相關(guān)技術(shù)進(jìn)行了展示。J2EE技術(shù)當(dāng)前發(fā)展普及全球并會(huì)繼續(xù)發(fā)展[1]。本文的主要工作是對(duì)基于J2EE的旅游網(wǎng)站后臺(tái)管理系統(tǒng)開(kāi)發(fā)詳細(xì)進(jìn)行介紹,其中按層次劃分,需求分析層包括用戶(hù)需求、功能需求、非功能需求、配置需求,在這四個(gè)方法進(jìn)行了詳細(xì)的介紹;系統(tǒng)結(jié)構(gòu)層,對(duì)本系統(tǒng)開(kāi)發(fā)框架進(jìn)行了詳細(xì)介紹,包括類(lèi)模型設(shè)計(jì)和數(shù)據(jù)表設(shè)計(jì)以及類(lèi)之間方法調(diào)用關(guān)系,過(guò)程有相應(yīng)的圖據(jù)以參考。本文對(duì)技術(shù)性知識(shí),主要是J2EE開(kāi)源框架,據(jù)權(quán)威人士分析,J2EE技術(shù)當(dāng)前發(fā)展普及全球并會(huì)繼續(xù)發(fā)展,其技術(shù)會(huì)對(duì)于將會(huì)投入到軟件開(kāi)發(fā)方向上的人員來(lái)說(shuō),重要性毫無(wú)疑問(wèn),其將會(huì)帶來(lái)的機(jī)會(huì)可想而知,所以本文也就使用到的J2EE框架進(jìn)行介紹。主要是對(duì)Struts2、Spring、Hibernate三大開(kāi)源框架的基本功能特性和原理進(jìn)行分析.系統(tǒng)性的學(xué)習(xí)軟件開(kāi)發(fā)流程,并在此過(guò)程中對(duì)J2EE開(kāi)源框架的使用以及軟件開(kāi)發(fā)思想進(jìn)行深一步理解。熟練項(xiàng)目開(kāi)發(fā)全套工具及軟件的配套使用。2旅游網(wǎng)站后臺(tái)管理系統(tǒng)設(shè)計(jì)2.1旅游網(wǎng)站管理系統(tǒng)介紹一個(gè)強(qiáng)大的旅游網(wǎng)站應(yīng)該具有的功能有:景區(qū)景點(diǎn)展示、景點(diǎn)導(dǎo)航、詩(shī)詞游記管理、風(fēng)景圖片展示、精彩視頻管理、交通信息查詢(xún)、自助游。天氣預(yù)報(bào)、在線(xiàn)咨詢(xún)、在線(xiàn)幫助、在線(xiàn)調(diào)查、旅客評(píng)論、旅客投訴反饋、門(mén)票預(yù)定、酒店預(yù)定、餐飲預(yù)定、車(chē)位預(yù)定、導(dǎo)游預(yù)定、旅客論壇、旅客博客、特產(chǎn)購(gòu)物管理、旅客流量統(tǒng)計(jì)、網(wǎng)站流量統(tǒng)計(jì)等。以上功能是旅游網(wǎng)站全方位描述,寫(xiě)過(guò)項(xiàng)目的人都知道,一個(gè)系統(tǒng)的不同功能所用技術(shù)大致相同,本次設(shè)計(jì)著重學(xué)習(xí),特此主要是在新聞管理也就是景區(qū)基本信息管理,以及線(xiàn)路管理兩大功能及相關(guān)的的基礎(chǔ)上,對(duì)其幾個(gè)問(wèn)題實(shí)現(xiàn)的具體功能進(jìn)行介紹分析。在景點(diǎn)基本信息功能一欄:以地區(qū)為總類(lèi)別區(qū)分,對(duì)總類(lèi)別可以添加、查看、更新、刪除,總類(lèi)別只記錄類(lèi)別名稱(chēng)和形象圖片。在此基礎(chǔ)上,添加景點(diǎn)信息類(lèi)別和景點(diǎn)詳細(xì)信息,景點(diǎn)類(lèi)別只設(shè)名稱(chēng)一列,詳細(xì)信息則包括名稱(chēng)、熱度、形象圖片等。在景區(qū)圖片管理功能一欄:針對(duì)圖片類(lèi)別設(shè)立類(lèi)別CRUD功能,圖片添加在此基礎(chǔ)上進(jìn)行,對(duì)于圖片模塊,自定義圖片無(wú)限分類(lèi)形式,對(duì)于圖片的大小,格式,展示效果進(jìn)行顯示控制。在景點(diǎn)視頻管理功能一欄:在總類(lèi)別的基礎(chǔ)上,上傳自定義的格式視頻,其格式可以是avi,mpg,mp4,mv等常用格式,旅客可以將自己在旅游過(guò)程中拍攝的視頻在一定容量范圍內(nèi)上傳,后臺(tái)也可以上傳些對(duì)于景點(diǎn)的宣傳視頻。在旅游線(xiàn)路功能一欄:管理員可以對(duì)線(xiàn)路類(lèi)別及線(xiàn)路詳細(xì)信息進(jìn)行CRUD操作,比如記錄線(xiàn)路出發(fā)城市、出發(fā)時(shí)間、持續(xù)時(shí)間、價(jià)錢(qián)、熱度等信息,方便旅客查詢(xún),購(gòu)票等。對(duì)于用戶(hù)信息管理、用戶(hù)訂單管理分別對(duì)用戶(hù)的基本信息,和訂單信息進(jìn)行對(duì)應(yīng)的操作,旅客評(píng)論上可以對(duì)旅客曾經(jīng)對(duì)景點(diǎn)視頻等做過(guò)的評(píng)論進(jìn)行管理,旅客可以對(duì)旅游過(guò)的景點(diǎn)進(jìn)行點(diǎn)評(píng),交互意見(jiàn)等。另外附加功能一還有針對(duì)游客流量統(tǒng)預(yù)測(cè)計(jì)功能:在根據(jù)系統(tǒng)中存儲(chǔ)的歷史游客數(shù)據(jù),參考導(dǎo)游、門(mén)票、餐飲、酒店、停車(chē)位的預(yù)定量,結(jié)合天氣預(yù)報(bào)、游客流量走勢(shì)、景區(qū)接待量、民俗節(jié)日、國(guó)家法定節(jié)假日、宗教節(jié)日、景區(qū)節(jié)日等方面,通過(guò)一定的推測(cè)原理推測(cè)出未來(lái)某月、某周、某日、某地的游客流量記錄。附加功能二便是針對(duì)當(dāng)前網(wǎng)站流量統(tǒng)計(jì):統(tǒng)計(jì)分析分別以年、月、日、時(shí)段為單位對(duì)網(wǎng)站整體訪(fǎng)問(wèn)量,統(tǒng)計(jì)分析全球來(lái)訪(fǎng)IP的區(qū)域,統(tǒng)計(jì)分析網(wǎng)站各主要頻道的訪(fǎng)問(wèn)量,統(tǒng)計(jì)分析各主要搜索引擎對(duì)網(wǎng)站的搜索頻率,可以把結(jié)果用餅狀圖或柱狀圖展現(xiàn)出來(lái)。下面對(duì)本次的設(shè)計(jì)進(jìn)行詳細(xì)傳述。2.2旅游網(wǎng)站后臺(tái)管理系統(tǒng)需求分析2.2.1用戶(hù)需求時(shí)代在進(jìn)步,人們生活水平不斷提高,從而變得不僅對(duì)物質(zhì)生活的要求高,而且越來(lái)越注重精神上的享受。旅游是人們尋求精神上的愉快感受的一種形式,讓人們對(duì)此興趣日益高升,所以旅游業(yè)的發(fā)展是社會(huì)發(fā)展人們生活水平提高的必然趨勢(shì)。當(dāng)今世道,計(jì)算機(jī)互聯(lián)網(wǎng)的不斷發(fā)展為旅游提供了方便,躍然旅游信息量越來(lái)越大,涉及全國(guó)各地乃至世界,其業(yè)務(wù)操作中設(shè)計(jì)的各種路線(xiàn)信息,客戶(hù)情況,各旅游協(xié)作部門(mén)越來(lái)越復(fù)雜多變,人們對(duì)信息的撐握重要性越來(lái)越高,為滿(mǎn)足人們對(duì)旅游信息收集,方便人們快捷辦理門(mén)票、交通、餐用等手續(xù),旅游網(wǎng)站的發(fā)展也就在情理之中了。所以,從網(wǎng)站開(kāi)發(fā)的角度考慮出發(fā),網(wǎng)站按功能模塊進(jìn)行分割,然后將旅游各種信息通過(guò)網(wǎng)站建設(shè)發(fā)布到網(wǎng)絡(luò)上,對(duì)于旅客來(lái)說(shuō),這無(wú)疑提供了無(wú)上方便快捷,給有心出門(mén)旅行的人們以快捷,在家中就可以輕松做好旅行規(guī)劃。網(wǎng)站的內(nèi)容以唯美的圖片、生動(dòng)形象的FLASH展示、拍攝的精美視頻,優(yōu)美的音樂(lè),詳細(xì)的信息,清晰的線(xiàn)路等吸引越來(lái)越多的旅客,并可以使旅客通過(guò)訪(fǎng)問(wèn)網(wǎng)站的方式了解旅行目的地的相關(guān)情況以及線(xiàn)路策劃與安排等等。目前旅游網(wǎng)絡(luò)門(mén)戶(hù)類(lèi)型主要有三種類(lèi)型,門(mén)戶(hù)網(wǎng)站旅游頻道的綜合信息服務(wù)類(lèi)、傳統(tǒng)類(lèi)旅行社網(wǎng)站、第三方旅游中介服務(wù)網(wǎng)站。隨著中國(guó)人民生活水平的的不斷提高,旅游業(yè)的發(fā)展有望得到進(jìn)一步的突破。因此,具有現(xiàn)代化的互聯(lián)網(wǎng)多媒體信息技術(shù)的旅游網(wǎng)站的建設(shè)具有不可估量的意義。2.2.2功能需求如下是該系統(tǒng)的一個(gè)基本的用例圖:圖2-1系統(tǒng)用例圖下面以本次開(kāi)發(fā)的功能劃分,分為添加、讀取、更新、刪除四個(gè)主要功能。從功能層面上來(lái)劃分的話(huà),四個(gè)功能操作的數(shù)據(jù)以及中間涉及的方法調(diào)用流程大體相似。本旅游網(wǎng)站的后臺(tái)管理基本功能如下:基本信息的添加:包括景點(diǎn)基本信息、圖片基本作息、視頻基本信息、線(xiàn)路基本信息添加。主要是用戶(hù)或者管理員通過(guò)JSP頁(yè)面進(jìn)行數(shù)據(jù)錄入并提交頁(yè)面,由Struts2的filter攔截進(jìn)入Struts2的action對(duì)應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫(kù)里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁(yè)面。圖2-2用例圖基本信息的讀?。喊ň包c(diǎn)基本信息、圖片基本信息、視頻基本信息、線(xiàn)路基本信息、用戶(hù)相關(guān)信息等。主要是用戶(hù)或者管理員通過(guò)JSP頁(yè)面進(jìn)行數(shù)據(jù)錄入并提交頁(yè)面,由Struts2的filter攔截進(jìn)入Struts2的action對(duì)應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫(kù)里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁(yè)面。圖2-3用例圖基本信息的更新:包括景點(diǎn)基本信息、圖片基本作息、視頻基本信息、線(xiàn)路基本信息更新。主要是用戶(hù)或者管理員通過(guò)JSP頁(yè)面進(jìn)行數(shù)據(jù)錄入并提交頁(yè)面,由Struts2的filter攔截進(jìn)入Struts2的action對(duì)應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫(kù)里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁(yè)面。圖2-4用例圖基本信息的刪除:包括景點(diǎn)基本信息、圖片基本作息、視頻基本信息、線(xiàn)路基本信息刪除。主要是用戶(hù)或者管理員通過(guò)JSP頁(yè)面進(jìn)行數(shù)據(jù)錄入并提交頁(yè)面,由Struts2的filter攔截進(jìn)入Struts2的action對(duì)應(yīng)方法進(jìn)行算是,然后調(diào)用Hibernate相關(guān)方法直接在數(shù)據(jù)庫(kù)里進(jìn)行插入并將結(jié)果返回到相應(yīng)的JSP頁(yè)面。圖2-5用例圖2.2.3非功能需求功能性:在功能上要滿(mǎn)足旅游網(wǎng)站的常規(guī)操作,對(duì)于客戶(hù)來(lái)說(shuō),客戶(hù)可以瀏覽查詢(xún)自己需要的數(shù)據(jù),可以下訂單,可以將當(dāng)前查詢(xún)或者是收錄的信息存儲(chǔ)到自己的比如收藏夾,用記可以對(duì)自己的個(gè)人信息進(jìn)行錄入更改,還有進(jìn)行一些自己數(shù)據(jù)的刪除。對(duì)于管理員來(lái)說(shuō),管理員有對(duì)旅游信息的添加查詢(xún)更新刪除的權(quán)限,還有對(duì)客戶(hù)的部分信息進(jìn)行管理,比如查看,甚者可以是刪除,管理員也可以對(duì)自己的基本信息進(jìn)行管理。安全性:該系統(tǒng)功能上應(yīng)具有較高的安全性,關(guān)鍵是要防止非法用戶(hù)進(jìn)入系統(tǒng)修改、刪除后臺(tái)數(shù)據(jù),黑客切取用戶(hù)資料,用戶(hù)對(duì)景點(diǎn)信息的操作權(quán)限等。為防止這些情況的發(fā)生,可在用戶(hù)數(shù)據(jù)傳輸過(guò)程中用MD5算法對(duì)用戶(hù)數(shù)據(jù)加密存儲(chǔ),在后臺(tái)操作數(shù)據(jù)進(jìn)行身份驗(yàn)證。c.可靠性:該系統(tǒng)應(yīng)具備較好的穩(wěn)定性,能存儲(chǔ)較大的數(shù)據(jù)量,在多用戶(hù)并發(fā)訪(fǎng)問(wèn)環(huán)境下可以保重系統(tǒng)正常運(yùn)行,不會(huì)產(chǎn)生干擾操作,在數(shù)據(jù)數(shù)據(jù)庫(kù)的選取以及表的設(shè)計(jì)方面應(yīng)注意效率,比如給需要經(jīng)常訪(fǎng)問(wèn)的屬性列建立索引,適當(dāng)增加服務(wù)器內(nèi)存等。d.易用性:由于本系統(tǒng)將采用B/S三層架構(gòu),客戶(hù)使用的瀏覽器類(lèi)型以及版本多種多樣,在對(duì)頁(yè)面展示方面要處理好不同瀏覽器的顯示效果,要讓用戶(hù)有較好的瀏覽體驗(yàn)。e.易維護(hù)性:該系統(tǒng)以J2EE三大框架為支撐,在開(kāi)發(fā)過(guò)程中盡量采用面向接口編程,避免將程序直接寫(xiě)死的情況,遵循低耦合的設(shè)計(jì)原則,增加系統(tǒng)的可擴(kuò)展性和可維護(hù)性。2.2.4配置需求本次旅游網(wǎng)站后臺(tái)管理系統(tǒng)采用B/S架構(gòu),服務(wù)器使用Tomcat,數(shù)據(jù)庫(kù)采用MySQL,開(kāi)發(fā)工具M(jìn)yEclipse,操作系統(tǒng)Windows7。2.3系統(tǒng)框架結(jié)構(gòu)設(shè)計(jì)2.3.1系統(tǒng)整體框架概述該旅游網(wǎng)站后臺(tái)管理系統(tǒng)的整體框架如圖:圖2-6系統(tǒng)框架圖該系統(tǒng)采用J2EE的Struts2,Spring,Hibernate框架對(duì)過(guò)程進(jìn)行控制并對(duì)站內(nèi)數(shù)據(jù)進(jìn)行操作,前臺(tái)提交頁(yè)面數(shù)據(jù)到后臺(tái),通過(guò)Struts2的filter進(jìn)行攔截,將數(shù)據(jù)提交到Struts2的action操作里進(jìn)行處理,action方法則通過(guò)Hibernate操作數(shù)據(jù)庫(kù)數(shù)據(jù),Spring貫穿在Strust2和Hibernate的整個(gè)過(guò)程,主動(dòng)創(chuàng)建程序過(guò)程需要的對(duì)象。整個(gè)過(guò)程主要采用面向接口編程,Jsp頁(yè)面的數(shù)據(jù)交互技術(shù)運(yùn)用Ajax。主要數(shù)據(jù)操作功能有create、read、update、delete也就是數(shù)據(jù)的增刪改查。該系統(tǒng)的基本時(shí)序如圖:圖2-7系統(tǒng)時(shí)序圖該時(shí)序圖說(shuō)明:程序執(zhí)行流程,從客戶(hù)端提交JSP頁(yè)面請(qǐng)求開(kāi)始,通過(guò)tomcat服務(wù)器,頁(yè)面請(qǐng)求數(shù)據(jù)被Struts2的Filter攔截,數(shù)據(jù)傳送至Struts2的action里,action調(diào)用model進(jìn)行對(duì)應(yīng)數(shù)據(jù)的獲取,具體數(shù)據(jù)操作,由action調(diào)用上層管理接口manageDAO,上層管理接口調(diào)用自己的特定實(shí)現(xiàn)manageDAOImp去進(jìn)行操作,manageDAOImp再調(diào)用模型操作上級(jí)接口modelDAO,再由該接口調(diào)用自己的實(shí)現(xiàn)modelDAOimp去直接操作數(shù)據(jù)庫(kù)Database,最后操作結(jié)果由action返回至JSP結(jié)果頁(yè)面,而Spring的DI功能貫穿整個(gè)過(guò)程,主要是Struts2和Hibernate相互操作的過(guò)程的創(chuàng)建對(duì)象。2.3.2數(shù)據(jù)表設(shè)計(jì)該系統(tǒng)存儲(chǔ)信息類(lèi)型較多,主要應(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)的基本類(lèi)模型設(shè)計(jì)本項(xiàng)目以action,service,dao,daoimp,model方式分層,其類(lèi)調(diào)用關(guān)系如下:圖2-8層次調(diào)用關(guān)系根據(jù)此分層開(kāi)發(fā)思想,該項(xiàng)目的開(kāi)發(fā)包圖如下:圖2-9系統(tǒng)包圖在以上的基礎(chǔ)上,設(shè)計(jì)的類(lèi)與包的關(guān)系圖如下:action包:service包:dao包:daoimp包:model包:根據(jù)本項(xiàng)目的需求,對(duì)各類(lèi)內(nèi)部進(jìn)行設(shè)計(jì),由調(diào)用的關(guān)系圖2-8可知,每一層的方法相同以滿(mǎn)足調(diào)用,這里只寫(xiě)出action包中主要類(lèi)的方法:管理員類(lèi):信息類(lèi)別類(lèi):信息詳細(xì)類(lèi):線(xiàn)路類(lèi)別類(lèi):線(xiàn)路詳細(xì)類(lèi):圖片類(lèi)別類(lèi):圖片詳細(xì)類(lèi):總屬類(lèi):視頻類(lèi):以Information類(lèi)create方法調(diào)用為例,關(guān)系如下:圖2-10方法調(diào)用詳細(xì)2.4系統(tǒng)的基本功能實(shí)現(xiàn)2.4.1配置文件配置文件主要有兩個(gè)beans.xml和struts.xml。其中beans.xml配置,主要實(shí)現(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配置,實(shí)現(xiàn)頁(yè)面跳轉(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ù)相同操作方法相似,流程大致相同,這里只例舉景點(diǎn)信息的功能方法。景點(diǎn)詳細(xì)信息的添加實(shí)現(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對(duì)象調(diào)用InformationService的create()方法:(InformationService)publicvoidcreate(Informationi){informationDao.create(i);}該create()方法又調(diào)用InformationDao接口的create()方法InformationDao的抽象方法publicvoidcreate(Informationi);該方法又由子類(lèi)InformationDaoImp的create()方法去實(shí)現(xiàn)publicvoidcreate(Informationi){hibernateTemplate.save(i);}最后由HibernateTemplate的save()方法,操作數(shù)據(jù)庫(kù)并保存。2.4.3查詢(xún)功能景點(diǎn)信息的查詢(xún)主要實(shí)現(xiàn):(InforamtionAction)publicStringreadAll(){this.setInforamtions(informationService.readAll());return"show";}在當(dāng)前類(lèi)里用一對(duì)象informations來(lái)存儲(chǔ)查詢(xún)結(jié)果信息,該方法調(diào)用InformationService的readAll()(InformationService)publicList<Information>readAll(){returninformationDao.readAll();}此處用一集合來(lái)存儲(chǔ)返回的對(duì)象,該方法調(diào)用InformationDao上級(jí)接口的readAll()方法,然后InformationDao用其子類(lèi)的InformationDaoImp的實(shí)現(xiàn)(InformationDaoImp)publicList<Information>readAll(){returnhibernateTemplate.find("fromInformation");}此方法用HQL語(yǔ)言直接操作數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)。流程如圖2-12.圖2-12信息查詢(xún)調(diào)用2.4.4更新功能景點(diǎn)信息的更新主要實(shí)現(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對(duì)象,再調(diào)用InformationService的update方法(InformationService)publicStringupdate(Informationi,booleanalreadyExists){returninformationDao.update(i,alreadyExists);}然后接著調(diào)用InformationDao上級(jí)接口,用InformationDao的實(shí)現(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方法中,選通過(guò)傳來(lái)的Information對(duì)象進(jìn)行Load操作,將load出來(lái)的對(duì)象與當(dāng)前對(duì)象比較,對(duì)數(shù)據(jù)變化了的進(jìn)行更新操作,沒(méi)變化的則不用更新。流程如圖2-13:圖2-13信息更新調(diào)用圖2.4.5刪除功能景點(diǎn)信息的刪除主要實(shí)現(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;}該方法封裝一個(gè)由前后提交的具有id的Information對(duì)象,調(diào)用InformationService的delete()(InformationService)publicvoiddelete(Informationi){informationDao.delete(i);}該方法調(diào)用InformationDao上級(jí)接口,用其子類(lèi)InformationDaoImp的delete()方法實(shí)現(xiàn)publicvoiddelete(Informationi){hibernateTemplate.delete(i);}該方法里調(diào)用HibernateTemplate的delete()方法實(shí)現(xiàn)最后數(shù)據(jù)庫(kù)數(shù)據(jù)的刪除。流程如下2-14:圖2-14信息刪除調(diào)用圖3操作界面展示3.1功能界面功能欄目界面:分為圖中8個(gè)模塊其中景點(diǎn)基本信息欄目詳細(xì)如圖所示,管理員可以對(duì)總類(lèi)別、信息類(lèi)別、信息詳細(xì)進(jìn)行CRUD操作其中景區(qū)圖片欄目詳細(xì)如圖所示,管理員可以對(duì)圖片類(lèi)別及圖片詳細(xì)進(jìn)行CRUD操作景點(diǎn)視頻管理欄目,相對(duì)簡(jiǎn)單,僅對(duì)視頻進(jìn)行相關(guān)操作其中旅游線(xiàn)路欄目如圖,則對(duì)線(xiàn)路類(lèi)別和線(xiàn)路詳細(xì)進(jìn)行CRUD操作以下是用戶(hù)相關(guān)的操作3.2詳細(xì)操作界面操作界面多,些處只舉幾個(gè)界面以觀成效。管理員登錄界面:后面的紅星代表必輸選項(xiàng)總類(lèi)別添加界面:紅色部分是用Ajax提交過(guò)后,交互的顯示結(jié)果,表示添加成功查看總類(lèi)別界面:其查看列表分頁(yè)顯示,后面的更新、刪除操作可以直接對(duì)當(dāng)前對(duì)象進(jìn)行如更新總類(lèi)別界面:當(dāng)提交更新的資料后,在后臺(tái)會(huì)先load與之相應(yīng)的目標(biāo)對(duì)象出來(lái),再與之比較,對(duì)于變化了的屬性進(jìn)行更新,沒(méi)變化的則不更新。刪除總類(lèi)別界面:當(dāng)點(diǎn)擊刪除時(shí),會(huì)彈出提示窗口,是否真的要?jiǎng)h除,點(diǎn)擊確定則刪除,點(diǎn)擊取消則返回原來(lái)的界面。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)行動(dòng)態(tài)顯示及交互;c.使用XML和XSLT進(jìn)行數(shù)據(jù)交換及相關(guān)操作;d.使用XMLHttpRequest進(jìn)行異步數(shù)據(jù)查詢(xún)、檢索;傳統(tǒng)的web應(yīng)用允許用戶(hù)填寫(xiě)表單(form),當(dāng)提交表單時(shí)就向web服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器接收并處理傳來(lái)的表單,然後返回一個(gè)新的網(wǎng)頁(yè),這個(gè)做法浪費(fèi)了許多帶寬,因?yàn)樵谇搬醿蓚€(gè)頁(yè)面中的大部分HTML代碼往往是相同的,由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請(qǐng)求,應(yīng)用的響應(yīng)時(shí)間就依賴(lài)于服務(wù)器的響應(yīng)時(shí)間,這導(dǎo)致了用戶(hù)界面的響應(yīng)比本地應(yīng)用慢得多,與此不同,AJAX應(yīng)用可以?xún)H向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的webservice接口,并在客戶(hù)端采用JavaScript處理來(lái)自服務(wù)器的響應(yīng),因?yàn)樵诜?wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用,同時(shí)很多的處理工作可以在發(fā)出請(qǐng)求的客戶(hù)端機(jī)器上完成,所以Web服務(wù)器的處理時(shí)間也減少了,使用Ajax的最大優(yōu)點(diǎn),就是也動(dòng)態(tài)刷新部分?jǐn)?shù)據(jù),能在不更新整個(gè)頁(yè)面的前提下維護(hù)數(shù)據(jù),這樣寫(xiě)出的Web應(yīng)用程序更為迅捷地回應(yīng)用戶(hù)動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒(méi)有改變過(guò)的信息,交互感更強(qiáng),Ajax技術(shù)的運(yùn)用不需要瀏覽器插件的協(xié)助,只要用的的瀏覽器能執(zhí)行JavaScript就行,當(dāng)然我想一般的瀏覽器都能,就像DHTML應(yīng)用程序那樣,Ajax應(yīng)用程序是在眾多不同的瀏覽器和平臺(tái)上經(jīng)過(guò)嚴(yán)格的測(cè)試的,現(xiàn)在Ajax技術(shù)的成熟越來(lái)越成熟,一些簡(jiǎn)化Ajax使用方法的程序庫(kù)也相繼問(wèn)世,同樣,也出現(xiàn)了另一種輔助程序設(shè)計(jì)的技術(shù),為那些不支持JavaScript的用戶(hù)提供替代功能[2]。4.2SSH技術(shù)Struts2:Struts2是Struts1的下一代產(chǎn)品,是在struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架,其實(shí)技術(shù)上來(lái)說(shuō),Struts2的技術(shù)幾乎完全繼續(xù)WebWork的技術(shù),只是名字看似在Struts1的基礎(chǔ)上發(fā)展,實(shí)際兩版本完全不同,因?yàn)楫?dāng)時(shí)Struts1應(yīng)用量很廣,比WebWork牛,但技術(shù)不比WebWork好,為長(zhǎng)期發(fā)展,所以Struts1與WebWork合作出了Struts2。下面以WebWork為核心,采用攔截器的機(jī)制來(lái)處理用戶(hù)的請(qǐng)求。其原理圖如下:圖3-1Spring:Spring是一個(gè)開(kāi)源框架,Spring是于2003年興起的一個(gè)輕量級(jí)的Java開(kāi)發(fā)框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來(lái),它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的,其功能是使用基本的JavaBean代替EJB,提供多種企業(yè)級(jí)應(yīng)用,其主要有兩大核心功能:其是IoC,Spring通過(guò)一種稱(chēng)作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合,當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴(lài)的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴(lài)對(duì)象,你可以認(rèn)為IoC與JNDI相反——不是對(duì)象從容器中查找依賴(lài),而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴(lài)傳遞給它;其二是AOP,Spring提供了面向切面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)

溫馨提示

  • 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)論