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

下載本文檔

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

文檔簡(jiǎn)介

1、本科生畢業(yè)論文(設(shè)計(jì)) 題 目 基于J2EE的旅游網(wǎng)站后臺(tái)管理系統(tǒng)設(shè)計(jì) 學(xué) 院 計(jì)算機(jī)學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名 XX XX 學(xué) 號(hào) XXXXXXXXXX 年級(jí) 2009級(jí) 指導(dǎo)教師 XXXXXXXXX 教務(wù)處制表二一三 年 五 月 二十 日基于J2EE的旅游網(wǎng)站后臺(tái)管理系統(tǒng)設(shè)計(jì)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生:XXXX 指導(dǎo)老師:XXXXX摘要 隨著計(jì)算機(jī)技術(shù)的發(fā)展,許多行業(yè)對(duì)計(jì)算機(jī)的應(yīng)用日益廣泛,尤其以JAVA語(yǔ)言為基礎(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)該更為廣泛。本文對(duì)基于J2E

2、E的旅游網(wǎng)站后臺(tái)管理系統(tǒng)開(kāi)發(fā)詳細(xì)進(jìn)行介紹,其中按層次劃分,需求分析層包括用戶需求、功能需求、非功能需求、配置需求,在這四個(gè)方法進(jìn)行了詳細(xì)的介紹;系統(tǒng)結(jié)構(gòu)層,對(duì)本系統(tǒng)開(kāi)發(fā)框架進(jìn)行了詳細(xì)介紹,包括類模型設(shè)計(jì)和數(shù)據(jù)表設(shè)計(jì)以及類之間方法調(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)行分析,同時(shí)也對(duì)

3、Ajax交互技術(shù)進(jìn)行有效分析,最后總結(jié)本次開(kāi)發(fā)項(xiàng)目收獲。關(guān)鍵字 系統(tǒng)J2EEAjax框架Travel website backstage management system based on J2EE is designedComputer science & technologyStudent:ZHANG Xxx Adviser:CHENXxx-xxxAbstract With the development of computer technology,Many industry increasingly extensive application of computer, esp

4、ecially based on JAVA development projects, such as software development, system development, such as the JAVA language usage almost ranks first in the world. Associated with the JAVA frameworks emerge in endlessly, based on the advantages of JAVA language, the research should be more widely. In thi

5、s paper, the travel website backstage management system based on J2EE development is described in detail, which according to level classification, requirement analysis layer including user needs, functional requirements, non-functional requirements, configuration requirements, the four methods is in

6、troduced in detail; System structure layer, this framework system development are introduced in detail, including model design and data table design and class relationships between method calls, which process have corresponding figure reference. In this paper, the technical knowledge, mainly is the

7、J2EE open source framework, according to authorities, J2EE technology development current global popularity and will continue to develop, the technology for the personnel will be involved in software development direction, importance and there is no doubt that it will bring the opportunity, so this

8、paper also introduces the J2EE framework is used to. Mainly to the three open source framework struts 2, Spring, Hibernate, the basic feature and principle were analyzed, and at the same time also to Ajax interaction techniques for effective analysis, finally summarizes the development project.Key W

9、ords System J2EEAjaxframwork目錄1 綜述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 用戶需求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)的基本類模型設(shè)計(jì)142.4 系統(tǒng)的基本功能實(shí)現(xiàn)182.4.1 配置文件182.4.2 添加功能212.4.3 查詢功能232.4.4 更新功能242.4.5 刪除功能273 操作界面展示293.1 功能界面293.2 詳細(xì)操作界面304

10、 主要使用技術(shù)介紹334.1 Ajax技術(shù)334.2 SSH技術(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ī)專業(yè)畢業(yè)的并且對(duì)JAVA尤其是J2EE方向的技術(shù)充滿濃厚興趣的的學(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方向的編程思

11、想更深刻透徹,為自己以后在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)狀及前景,在舊金山舉行的2011年JavaOne大會(huì)上,甲骨文公司展示了其推動(dòng)Java 平臺(tái)企業(yè)版(Java EE)發(fā)展的最新成果,Java EE 繼續(xù)大受歡迎,并有越來(lái)越多的開(kāi)發(fā)人員采用,包括Oracle GlassFish Server在內(nèi)的Java EE組件獲得了4000萬(wàn)次下載,自2009年12月推出以來(lái),

12、6個(gè)主要IT廠商已經(jīng)推出了經(jīng)過(guò)認(rèn)證、開(kāi)源和商業(yè)實(shí)施的Java EE 6,使其成為迄今為止最迅速獲得采用的平臺(tái)產(chǎn)品,作為下一代Java EE, Java EE 7進(jìn)展順利,其中,有超過(guò)20個(gè)的不同參與企業(yè)和數(shù)百名工程師通過(guò)Java 社區(qū)(JCP)對(duì)10個(gè)活躍的Java規(guī)范要求(JSRs)進(jìn)行了開(kāi)發(fā)處理,Java EE 7 JSRs 包括:Java EE 7 平臺(tái), Java Persistence API 2.1, JAX-RS 2.0, 用于RESTful網(wǎng)絡(luò)服務(wù)的 Java API, Servlet 3.1, 表達(dá)語(yǔ)言 3.0, Java 信息服務(wù) 2.0, JavaServer Faces

13、 2.2, Enterprise JavaBeans 3.2, 面向Java EE 1.1的Contexts and Dependency Injection , Bean Validation 1.1.等,Java EE 7專家組也在尋求把其他JSRs加入到Java EE 7的可能性,這些JSRs包括JCache 1.0 Java Temporary Caching API, Concurrency Utilities 1.0, Java 狀態(tài)管理1.0 和Java Identity API 1.0。Java EE 7旨在進(jìn)一步增強(qiáng)Java EE平臺(tái)的云環(huán)境,因此,基于Java EE-7的應(yīng)

14、用和產(chǎn)品將能夠在私有云和公有云中更方便地操作,并通過(guò)支持多用戶租用和彈性使用(如平行擴(kuò)展)等功能來(lái)實(shí)現(xiàn)功能即服務(wù),作為Java EE的參考實(shí)施,GlassFish服務(wù)器不僅僅是全面的Java EE 6實(shí)施,(開(kāi)源版是GlassFish 服務(wù)器開(kāi)源版,商業(yè)版是Oracle GlassFish服務(wù)器),還為即將推出的Java EE 7提供了堅(jiān)實(shí)的基礎(chǔ),Oracle GlassFish服務(wù)器完善了Oracle WebLogic 服務(wù)器 11g,后者是一款專門為運(yùn)行Oracle 融合中間件11g的廣泛產(chǎn)品組合以及可內(nèi)部部署和云部署的大規(guī)模企業(yè)應(yīng)用而設(shè)計(jì)的服務(wù)器,甲骨文在2011 年JavaOne大會(huì)的

15、136個(gè)聯(lián)合研討會(huì)、BOF和動(dòng)手實(shí)驗(yàn)室,以及JavaOne展覽館中對(duì)Java EE及相關(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)行介紹,其中按層次劃分,需求分析層包括用戶需求、功能需求、非功能需求、配置需求,在這四個(gè)方法進(jìn)行了詳細(xì)的介紹;系統(tǒng)結(jié)構(gòu)層,對(duì)本系統(tǒng)開(kāi)發(fā)框架進(jìn)行了詳細(xì)介紹,包括類模型設(shè)計(jì)和數(shù)據(jù)表設(shè)計(jì)以及類之間方法調(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)

16、,其將會(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)景圖片展示、精彩視頻管理、交通信息查詢、自助游。天氣預(yù)報(bào)、在線咨詢、在線幫助、在線調(diào)查、旅客評(píng)論、旅客投訴反饋、門票預(yù)定、酒店預(yù)定、餐飲預(yù)定、車位預(yù)定、導(dǎo)游預(yù)定、旅客論

17、壇、旅客博客、特產(chǎn)購(gòu)物管理、旅客流量統(tǒng)計(jì)、網(wǎng)站流量統(tǒng)計(jì)等。以上功能是旅游網(wǎng)站全方位描述,寫過(guò)項(xiàng)目的人都知道,一個(gè)系統(tǒng)的不同功能所用技術(shù)大致相同,本次設(shè)計(jì)著重學(xué)習(xí),特此主要是在新聞管理也就是景區(qū)基本信息管理,以及線路管理兩大功能及相關(guān)的的基礎(chǔ)上,對(duì)其幾個(gè)問(wèn)題實(shí)現(xiàn)的具體功能進(jìn)行介紹分析。在景點(diǎn)基本信息功能一欄:以地區(qū)為總類別區(qū)分,對(duì)總類別可以添加、查看、更新、刪除,總類別只記錄類別名稱和形象圖片。在此基礎(chǔ)上,添加景點(diǎn)信息類別和景點(diǎn)詳細(xì)信息,景點(diǎn)類別只設(shè)名稱一列,詳細(xì)信息則包括名稱、熱度、形象圖片等。在景區(qū)圖片管理功能一欄:針對(duì)圖片類別設(shè)立類別CRUD功能,圖片添加在此基礎(chǔ)上進(jìn)行,對(duì)于圖片模塊,自定

18、義圖片無(wú)限分類形式,對(duì)于圖片的大小,格式,展示效果進(jìn)行顯示控制。在景點(diǎn)視頻管理功能一欄:在總類別的基礎(chǔ)上,上傳自定義的格式視頻,其格式可以是avi,mpg,mp4,mv等常用格式,旅客可以將自己在旅游過(guò)程中拍攝的視頻在一定容量范圍內(nèi)上傳,后臺(tái)也可以上傳些對(duì)于景點(diǎn)的宣傳視頻。在旅游線路功能一欄:管理員可以對(duì)線路類別及線路詳細(xì)信息進(jìn)行CRUD操作,比如記錄線路出發(fā)城市、出發(fā)時(shí)間、持續(xù)時(shí)間、價(jià)錢、熱度等信息,方便旅客查詢,購(gòu)票等。對(duì)于用戶信息管理、用戶訂單管理分別對(duì)用戶的基本信息,和訂單信息進(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),交互意

19、見(jiàn)等。另外附加功能一還有針對(duì)游客流量統(tǒng)預(yù)測(cè)計(jì)功能:在根據(jù)系統(tǒng)中存儲(chǔ)的歷史游客數(shù)據(jù),參考導(dǎo)游、門票、餐飲、酒店、停車位的預(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)站整體訪問(wèn)量,統(tǒng)計(jì)分析全球來(lái)訪IP 的區(qū)域,統(tǒng)計(jì)分析網(wǎ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 用戶需求時(shí)

20、代在進(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é)作部門越來(lái)越復(fù)雜多變,人們對(duì)信息的撐握重要性越來(lái)越高,為滿足人們對(duì)旅游信息收集,方便人們快捷辦理門票、交通、餐用等手續(xù),旅游網(wǎng)站的發(fā)展也就在情理之中了。所以,從網(wǎng)站開(kāi)發(fā)的角度考慮出發(fā),網(wǎng)站按功能模塊進(jìn)行分割,然后將旅游各種信息通過(guò)網(wǎng)站建設(shè)發(fā)布

21、到網(wǎng)絡(luò)上,對(duì)于旅客來(lái)說(shuō),這無(wú)疑提供了無(wú)上方便快捷,給有心出門旅行的人們以快捷,在家中就可以輕松做好旅行規(guī)劃。網(wǎng)站的內(nèi)容以唯美的圖片、生動(dòng)形象的FLASH展示、拍攝的精美視頻,優(yōu)美的音樂(lè),詳細(xì)的信息,清晰的線路等吸引越來(lái)越多的旅客,并可以使旅客通過(guò)訪問(wèn)網(wǎng)站的方式了解旅行目的地的相關(guān)情況以及線路策劃與安排等等。目前旅游網(wǎng)絡(luò)門戶類型主要有三種類型,門戶網(wǎng)站旅游頻道的綜合信息服務(wù)類、傳統(tǒng)類旅行社網(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è)

22、基本的用例圖: 圖2-1 系統(tǒng)用例圖下面以本次開(kāi)發(fā)的功能劃分,分為添加、讀取、更新、刪除四個(gè)主要功能。從功能層面上來(lái)劃分的話,四個(gè)功能操作的數(shù)據(jù)以及中間涉及的方法調(diào)用流程大體相似。本旅游網(wǎng)站的后臺(tái)管理基本功能如下:A. 基本信息的添加:包括景點(diǎn)基本信息、圖片基本作息、視頻基本信息、線路基本信息添加。主要是用戶或者管理員通過(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用例圖B. 基本信息的讀?。喊ň包c(diǎn)基本信息、圖片基本信息、

23、視頻基本信息、線路基本信息、用戶相關(guān)信息等。主要是用戶或者管理員通過(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用例圖C. 基本信息的更新:包括景點(diǎn)基本信息、圖片基本作息、視頻基本信息、線路基本信息更新。主要是用戶或者管理員通過(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

24、頁(yè)面。 圖2-4用例圖D. 基本信息的刪除:包括景點(diǎn)基本信息、圖片基本作息、視頻基本信息、線路基本信息刪除。主要是用戶或者管理員通過(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 非功能需求a. 功能性:在功能上要滿足旅游網(wǎng)站的常規(guī)操作,對(duì)于客戶來(lái)說(shuō),客戶可以瀏覽查詢自己需要的數(shù)據(jù),可以下訂單,可以將當(dāng)前查詢或者是收錄的信息存儲(chǔ)到自己的比如收藏夾,用記可以對(duì)自己的個(gè)人信息進(jìn)行錄入更改,還有進(jìn)行一些自己數(shù)據(jù)的刪除

25、。對(duì)于管理員來(lái)說(shuō),管理員有對(duì)旅游信息的添加查詢更新刪除的權(quán)限,還有對(duì)客戶的部分信息進(jìn)行管理,比如查看,甚者可以是刪除,管理員也可以對(duì)自己的基本信息進(jìn)行管理。b. 安全性:該系統(tǒng)功能上應(yīng)具有較高的安全性,關(guān)鍵是要防止非法用戶進(jìn)入系統(tǒng)修改、刪除后臺(tái)數(shù)據(jù),黑客切取用戶資料,用戶對(duì)景點(diǎn)信息的操作權(quán)限等。為防止這些情況的發(fā)生,可在用戶數(shù)據(jù)傳輸過(guò)程中用MD5算法對(duì)用戶數(shù)據(jù)加密存儲(chǔ),在后臺(tái)操作數(shù)據(jù)進(jìn)行身份驗(yàn)證。c.可靠性:該系統(tǒng)應(yīng)具備較好的穩(wěn)定性,能存儲(chǔ)較大的數(shù)據(jù)量,在多用戶并發(fā)訪問(wèn)環(huán)境下可以保重系統(tǒng)正常運(yùn)行,不會(huì)產(chǎn)生干擾操作,在數(shù)據(jù)數(shù)據(jù)庫(kù)的選取以及表的設(shè)計(jì)方面應(yīng)注意效率,比如給需要經(jīng)常訪問(wèn)的屬性列建立索引

26、,適當(dāng)增加服務(wù)器內(nèi)存等。d.易用性:由于本系統(tǒng)將采用B/S三層架構(gòu),客戶使用的瀏覽器類型以及版本多種多樣,在對(duì)頁(yè)面展示方面要處理好不同瀏覽器的顯示效果,要讓用戶有較好的瀏覽體驗(yàn)。e.易維護(hù)性:該系統(tǒng)以J2EE三大框架為支撐,在開(kāi)發(fā)過(guò)程中盡量采用面向接口編程,避免將程序直接寫死的情況,遵循低耦合的設(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)

27、框架圖該系統(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ō)明:

28、程序執(zhí)行流程,從客戶端提交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和Hibern

29、ate相互操作的過(guò)程的創(chuàng)建對(duì)象。2.3.2 數(shù)據(jù)表設(shè)計(jì)該系統(tǒng)存儲(chǔ)信息類型較多,主要應(yīng)用數(shù)據(jù)表及結(jié)構(gòu)如下:admin info_class:information:line_class:line_info:picture_class:picture_info:top_belong:video: 2.3.3 系統(tǒng)的基本類模型設(shè)計(jì)本項(xiàng)目以action,service,dao,daoimp,model方式分層,其類調(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ì)的類與包的關(guān)系圖如下:a. action包: b. service包:

30、 c. dao包: d. daoimp包: e. model包: 根據(jù)本項(xiàng)目的需求,對(duì)各類內(nèi)部進(jìn)行設(shè)計(jì),由調(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)的基本功能實(shí)現(xiàn)2.4.1 配置文件配置文件主要有兩個(gè)beans.xml和struts.xml。其中beans.xml配置,主要實(shí)現(xiàn)數(shù)據(jù)源鏈接,SessionFactory以及Hibern

31、areTemplate的bean生成,代碼如下:<bean id="dataSource" class="mons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql:/localhost:330

32、6/travel" /><property name="username" value="root" /><property name="password" value="root" /></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

33、;<property name="dataSource" ref="dataSource" /><property name="packagesToScan"><list><value>.model</value></list></property><property name="hibernateProperties"><props><prop key="hi

34、bernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><prop key="hibernate.hbm2ddl.auto">update</prop></props></property&

35、gt;</bean><bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory"></property></bean>其中struts.xml配置,實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)映射,主要代碼如下:<action name="basePa

36、ge"><result>/back/basepage.jsp</result></action><action name="adminLoginPage" class=".action.AdminAction"></action><action name="topBelong" class=".action.TopBelongAction"><result&g

37、t;/back/top_belong_create.jsp</result><result name="show">/back/top_belong_show.jsp</result><result name="update">/back/top_belong_update.jsp</result></action><action name="infoClass" class=".action.InfoClassAc

38、tion"><result>/back/info_class_create.jsp</result><result name="show">/back/info_class_show.jsp</result><result name="update">/back/info_class_update.jsp</result></action><action name="information" class="com.zha

39、.action.InformationAction"><result>/back/information_create.jsp</result><result name="show">/back/information_show.jsp</result><result name="update">/back/information_update.jsp</result></action><action name="pict

40、ureClass" class=".action.PictureClassAction"><result>/back/picture_class_create.jsp</result><result name="show">/back/picture_class_show.jsp</result><result name="update">/back/picture_class_update.jsp</result>

41、</action><action name="pictureInfo" class=".action.PictureInfoAction"><result>/back/picture_info_create.jsp</result><result name="show">/back/picture_info_show.jsp</result><result name="update">/back/pi

42、cture_info_update.jsp</result></action><action name="video" class=".action.VideoAction"><result>/back/video_create.jsp</result><result name="show">/back/video_show.jsp</result><result name="update"&g

43、t;/back/video_update.jsp</result></action><action name="lineClass" class=".action.LineClassAction"><result>/back/line_class_create.jsp</result><result name="show">/back/line_class_show.jsp</result><result name

44、="update">/back/line_class_update.jsp</result></action><action name="lineInfo" class=".action.LineInfoAction"><result>/back/line_info_create.jsp</result><result name="show">/back/line_info_show.jsp</res

45、ult><result name="update">/back/line_info_update.jsp</result></action><action name="undoPage" class=".action.UndoAction"><result>/back/undopage.jsp</result></action>2.4.2 添加功能不同數(shù)據(jù)相同操作方法相似,流程大致相同,這里只例舉景點(diǎn)信息的功能方法

46、。景點(diǎn)詳細(xì)信息的添加實(shí)現(xiàn):(InformationAction)public String create() throws IOExceptionHttpServletResponse response = ServletActionContext.getResponse();PrintWriter pw = response.getWriter();if(informationService.exists(this.getTitle()pw.write(title + " is already exists");return null;TopBelong tb = new

47、 TopBelong();tb.setId(this.getTopId();InfoClass ic = new InfoClass();ic.setId(this.getClassId();Information i = new Information();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);Dat

48、e d = new Date();String sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d);i.setAddTime(sdf);if (image != null) String uploadFileName = "upLoadImages"String realpath = ServletActionContext.getServletContext().getRealPath(uploadFileName);uploadImage(realpath,pw);i.setImag

49、ePath(uploadFileName + "" + this.getImageFileName();informationService.create(i);pw.write("information add success");return null; 圖2-11 信息創(chuàng)建方法調(diào)用圖該create()方法,封裝Information對(duì)象調(diào)用InformationService的create()方法:(InformationService)public void create(Information i)informationDao.create(i

50、);該create()方法又調(diào)用InformationDao接口的create()方法InformationDao的抽象方法public void create(Information i);該方法又由子類InformationDaoImp的create()方法去實(shí)現(xiàn)public void create(Information i) hibernateTemplate.save(i); 最后由HibernateTemplate的save()方法,操作數(shù)據(jù)庫(kù)并保存。2.4.3 查詢功能景點(diǎn)信息的查詢主要實(shí)現(xiàn):(InforamtionAction)public String readAll()th

51、is.setInforamtions(informationService.readAll();return "show"在當(dāng)前類里用一對(duì)象informations來(lái)存儲(chǔ)查詢結(jié)果信息,該方法調(diào)用InformationService的readAll()(InformationService)public List<Information> readAll()return informationDao.readAll();此處用一集合來(lái)存儲(chǔ)返回的對(duì)象,該方法調(diào)用InformationDao上級(jí)接口的readAll()方法,然后InformationDao用其子類的I

52、nformationDaoImp的實(shí)現(xiàn)(InformationDaoImp)public List<Information> readAll()return hibernateTemplate.find("from Information");此方法用HQL語(yǔ)言直接操作數(shù)據(jù)庫(kù)進(jìn)行查詢。流程如圖2-12. 圖2-12 信息查詢調(diào)用2.4.4 更新功能景點(diǎn)信息的更新主要實(shí)現(xiàn):(InformationAction)public String update() throws IOExceptionHttpServletResponse response = Servle

53、tActionContext.getResponse();PrintWriter pw = response.getWriter();boolean alreadyExists = false;if(informationService.exists(this.getTitle()alreadyExists = true;TopBelong tb = new TopBelong();tb.setId(this.getTopId();InfoClass ic = new InfoClass();ic.setId(this.getClassId();Information i = new Info

54、rmation();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);Date d = new Date();String sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d);i.setAddTime(sdf);if

55、 (image != null) String uploadFileName = "upLoadImages"String realpath = ServletActionContext.getServletContext().getRealPath( uploadFileName);uploadImage(realpath,pw);i.setImagePath(uploadFileName + "" + this.getImageFileName();String result = informationService.update(i, alread

56、yExists);pw.write(result);return null;此方法同create()方法一樣先封裝Information對(duì)象,再調(diào)用InformationService的update方法(InformationService)public String update(Information i, boolean alreadyExists)return informationDao.update(i, alreadyExists);然后接著調(diào)用InformationDao上級(jí)接口,用InformationDao的實(shí)現(xiàn)InformationDaoImp的update方法(Info

57、rmationDaoImp)public String update(Information i, boolean alreadyExists)Information info = (Information)hibernateTemplate.get(Information.class, i.getId();if(alreadyExists && i.getId()!=info.getId()return "the " + i.getTitle() + " already exists"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.setA

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論