基于JSP的旅游管理系統(tǒng)設(shè)計與實現(xiàn) 設(shè)計_第1頁
基于JSP的旅游管理系統(tǒng)設(shè)計與實現(xiàn) 設(shè)計_第2頁
基于JSP的旅游管理系統(tǒng)設(shè)計與實現(xiàn) 設(shè)計_第3頁
基于JSP的旅游管理系統(tǒng)設(shè)計與實現(xiàn) 設(shè)計_第4頁
基于JSP的旅游管理系統(tǒng)設(shè)計與實現(xiàn) 設(shè)計_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于JSP的旅游管理系統(tǒng)設(shè)計與實現(xiàn)摘 要隨著科技的迅速發(fā)展,計算機技術(shù)已應(yīng)用到社會的各個領(lǐng)域。隨著計算機技術(shù)和通信技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)的規(guī)模也逐漸增大,網(wǎng)絡(luò)的元素也隨之不斷增加,有的利用其通信,有的利用其商業(yè)用途,在網(wǎng)絡(luò)上進行出售、收購、宣傳等操作,從而使得網(wǎng)絡(luò)越來越成為現(xiàn)今社會上必不可少的元素,而網(wǎng)站就是這個網(wǎng)絡(luò)里很龐大的元素。通過旅游信息網(wǎng)這個平臺,可以使用戶足不出戶就可以了解旅游信息,避免他們盲目的尋找旅游景點和旅游線路等。系統(tǒng)的主要功能包括:旅游景點管理、旅游路線管理、在線預(yù)訂旅游路線、網(wǎng)站論壇、網(wǎng)站公告管理等。分為管理員用戶、會員用戶這二種用戶平臺。本系統(tǒng)前臺主要使用JSP作為開發(fā)語

2、言,后臺使用SqlServer2012作為數(shù)據(jù)庫管理系統(tǒng),開發(fā)環(huán)境是MyEclipse8.5,服務(wù)器采用tomcat6.0,開發(fā)出的一個基于Web技術(shù)的B/S結(jié)構(gòu)的旅游網(wǎng)系統(tǒng)。關(guān)鍵詞:旅游網(wǎng),JSP,B/S結(jié)構(gòu)Design and implementation of tourism management system based on JSPABSTRACTWith the rapid development of science and technology, the computer technology has been applied to each field of the soci

3、ety. With the rapid development of computer technology and communication technology, the size of the network increases, network elements are also increasing, some use their communication, and some use it for commercial use, sale, purchase, publicity and other operations in the network, so that the n

4、etwork is increasingly becoming an essential element of modern society, and the website is very large in the network elements.Through the platform of tourism information network, users can remain within doors can get travel information, avoid blind blind search for tourist attractions and tourist ro

5、utes. The main functions of the system include: management, tourist attractions tourism management, online booking travel route, web forums, bulletin management website. As administrator, members of the user to the two user platform.The front of the system using JSP as the development language, the

6、use of SqlServer2012 as a database management system, the development environment is MyEclipse8.5, the server uses tomcat6.0, a developed tourism network system based on B/S structure of Web technology.Keywords: Tourism Network,JSP,B / S structure目 錄摘 要iABSTRACTii目 錄iii第1章 緒論11.1課題背景11.2目的和意義11.3開發(fā)工

7、具及技術(shù)11.3.1開發(fā)工具11.3.2 JSP21.3.3 JavaScript31.4軟硬件需求3第2章 需求分析52.1可行性分析52.1.1技術(shù)的可行性52.1.2經(jīng)濟的可行性52.1.3操作可行性52.1.4法律的可行性52.2系統(tǒng)用戶用例圖52.2.1普通用戶用例圖52.2.2管理員用例圖62.3功能模塊需求分析72.4設(shè)計的基本思想82.5性能需求82.5.1系統(tǒng)的安全性82.5.2數(shù)據(jù)的完整性82.6界面需求8第3章 系統(tǒng)分析與設(shè)計103.1數(shù)據(jù)庫的分析與設(shè)計103.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計103.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計123.1.3數(shù)據(jù)庫的連接原理143.2中文亂碼問題

8、處理15第4章 系統(tǒng)功能實現(xiàn)174.1管理員登陸頁面174.2管理員模塊184.2.1旅游景點管理194.2.2旅游線路管理224.2.3會員信息管理244.2.4系統(tǒng)公告管理264.2.5退出系統(tǒng)264.3普通用戶模塊274.3.1系統(tǒng)主頁面實現(xiàn)274.3.2旅游景點查詢274.3.3用戶注冊28第5章 系統(tǒng)測試295.1系統(tǒng)測試目的與意義295.2測試過程295.2.1主頁面的登錄模塊測試295.3其他錯誤30結(jié) 論31參考文獻32致 謝33附 錄34譯文資料44中文譯文51第一章 緒論1.1課題背景計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,給信息時代的人們帶來了很大的方便。如今在Internet上,隨處都可

9、以看到種類繁多的信息管理系統(tǒng),比如,企業(yè)辦公化自動管理系統(tǒng),電子商務(wù)系統(tǒng)等等。隨著信息技術(shù)的日益發(fā)展已深入到社會的各個角落,網(wǎng)站系統(tǒng)也不例外,所謂網(wǎng)站,就是指在國際網(wǎng)絡(luò)上,根據(jù)一定的規(guī)則,使用html等工具制作的用戶展示特定內(nèi)容的相關(guān)網(wǎng)頁的集合,簡單的說。網(wǎng)站就是一種通信工具,就像布告欄一樣,人們可以通過網(wǎng)站來發(fā)布自己想要公開的咨詢,或者利用網(wǎng)絡(luò)來提供相關(guān)的網(wǎng)絡(luò)服務(wù),人們可以通過網(wǎng)頁瀏覽器來訪問網(wǎng)站,獲取自己需要的咨詢(信息)或者享受網(wǎng)絡(luò)服務(wù)。隨著人們生活水平的提高,旅游行業(yè)的不斷發(fā)展,旅游已經(jīng)成為人們生活中不可分割的一部分,旅游業(yè)已成為當(dāng)今世界上發(fā)展勢頭最強勁的產(chǎn)業(yè),它是集吃、住、行、游、購

10、、娛六大要素的一個綜合性產(chǎn)業(yè),此外,旅游活動涉及到眾多的服務(wù)設(shè)施和旅游資源,其信息有著豐富的空間和時間的內(nèi)涵,同時由于旅游過程是一個受人為、自然等多種因素制約的復(fù)雜的過程,如何使游客在很短的時間內(nèi),能夠及時地查找到所要旅游目的地的信息,是游客所關(guān)心的問題,更是旅游部門要解決的問題。1.2目的和意義此系統(tǒng)開發(fā)主要為了滿足用戶的需要,為用戶提供方便。此系統(tǒng)用MVC架構(gòu),系統(tǒng)主要包括旅游景點展示、旅游線路預(yù)訂、用戶論壇、景點查詢等模塊。此系統(tǒng)為旅游公司人員提供更方便、快捷的工作環(huán)境,又可以通過網(wǎng)絡(luò)使客戶更方便、快捷的報名參加旅游項目,以節(jié)省公司人員和游客雙方的時間,提高工作效率。1.3開發(fā)工具及技術(shù)

11、1.3.1開發(fā)工具此次設(shè)計主要采用MyEclipse8.5加Tomcat6.0后臺服務(wù)器進行,設(shè)計過程中頁面主要使用JSP技術(shù)完成,下面對MyEclipse8.5、Tomcat6.0和SqlServer2012數(shù)據(jù)庫進行簡要介紹。1. MyEclipse8.5MyEclipse8.5,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse8.5的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse8.5企業(yè)級工作平臺(MyEclipse8.5 Enterprise Workbench ,簡稱MyEclipse8.5)是對Ecli

12、pse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和Java EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的Java EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, JavaScript, SQL, Hibernate。2.Tomcat6.0Tomcat6.0是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選??梢赃@樣認為,當(dāng)在一臺機器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat6.0 部分是Apa

13、che 服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)運行tomcat6.0 時,它實際上作為一個與Apache 獨立的進程單獨運行的。3.SqlServer2012SqlServer2012使用C和C+編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、Open BSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng);為多種編程語言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑;可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。對于一般的個

14、人使用者和中小型企業(yè)來說,SqlServer2012提供的功能已經(jīng)綽綽有余,而且由于SqlServer2012是開放源碼軟件,因此可以大大降低總體擁有成本。1.3.2 JSPJSP技術(shù)使用Java編程語言編寫類XML的tags和Scriltlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和Scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的J

15、ava程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術(shù)的優(yōu)點:(1)一次編寫

16、,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進行集群和負載均衡,到多臺Application進行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下(5)支持服務(wù)器端組件。web

17、應(yīng)用需要強大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計實現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù); response網(wǎng)頁傳回客戶端的響應(yīng);pageContext 網(wǎng)頁的屬性是在這里管理; session 與請求有關(guān)的會話; application servlet正在執(zhí)行的內(nèi)容;out 用來傳送響應(yīng)的輸出流; config代碼片段配置對象;page JSP網(wǎng)頁本身; exception針對錯誤網(wǎng)頁,未捕捉的例外。1.3.3 Jav

18、aScriptJavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript的一個重要功能就是面向?qū)ο蟮墓δ埽ㄟ^基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復(fù)使用的方式進行程序開發(fā)。在HTML基礎(chǔ)上,使用JavaScript可以開發(fā)交互式Web網(wǎng)頁。JavaScript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了JavaScript技術(shù),比如說,檢驗用戶輸入數(shù)據(jù)的

19、有效性,是否重復(fù),是否為空等等。1.4軟硬件需求硬件需求:CPU:Pentium以上計算機內(nèi)存: 512M以上軟件需求:操作系統(tǒng)版本:Windows XP /vista/Win7開發(fā)工具:MyEclipse8.5 后臺服務(wù)器:Apache Tomcat6.5開發(fā)語言:Java瀏覽器:IE8.0第二章 需求分析2.1可行性分析開發(fā)任何一個系統(tǒng),都會受到時間和資源上的限制。因此,在每一個項目開發(fā)之前,都要進行可行性分析,可以減少項目的開發(fā)風(fēng)險,避免人力、物力和財力的浪費。下面就技術(shù)、經(jīng)濟、操作和法律四個方面來介紹。2.1.1技術(shù)的可行性本系統(tǒng)開發(fā)工具是MyEclipse8.5和SqlServer2

20、012數(shù)據(jù)庫,開發(fā)語言是Java,主要使用了J2EE的技術(shù),java是一種面向?qū)ο缶幊陶Z言,簡單易學(xué)而且靈活方便。大三時就學(xué)習(xí)了java課程,本系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設(shè)計和操作是本系統(tǒng)設(shè)計的核心。在大學(xué)期間學(xué)習(xí)過軟件工程,軟件測試,UML統(tǒng)一建模語言等課程,具備一定的系統(tǒng)分析、設(shè)計和測試能力。因此,完成系統(tǒng)實現(xiàn)在技術(shù)上完全具有可行性。2.1.2經(jīng)濟的可行性本系統(tǒng)所用的軟件都是開源的,為開發(fā)軟件節(jié)省了大量的金錢和時間,達到降低成本,提高開發(fā)效率的目的,本系統(tǒng)對計算機配置的要求不高,甚至網(wǎng)吧更換下來的低配置電腦都可以完全滿足需要,所以在經(jīng)濟上具有完全的可行性。2.1.3操作可行性本系統(tǒng)操

21、作簡單,輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對操作人員的要求很低,加之對本系統(tǒng)的操作稍加培訓(xùn)即可工作,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會有很大難度。2.1.4法律的可行性此旅游信息網(wǎng)是自行開發(fā)的網(wǎng)絡(luò)系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問題,即法律上是可行的。2.2系統(tǒng)用戶用例圖2.2.1普通用戶用例圖出于安全性的考慮,普通用戶只有瀏覽旅游景點和瀏覽旅游線路、線路預(yù)訂等功能,其他的刪除修改功能都沒有設(shè)計,因為普通用戶最主要關(guān)心的

22、就是旅游景點的更新和旅游線路的查詢等功能,普通用戶用例圖如圖2.1所示。圖2.1 普通用戶用例圖2.2.2管理員用例圖管理員是系統(tǒng)的核心用戶,涉及到七大功能模塊,管理員對系統(tǒng)的所有用戶有著操作的權(quán)限,能夠及時動態(tài)的更新系統(tǒng)的各項信息。管理員用例圖如圖2.2所示。圖2.2 管理員用例圖2.3功能模塊需求分析本系統(tǒng)最大的特點是使用操作簡單、友好的提示信息。本系統(tǒng)將實現(xiàn)以下基本功能:(1)系統(tǒng)具有簡潔大方的頁面,使用簡便,友好的錯誤操作提示(2)管理員用戶具有旅游景點管理、旅游線路管理、會員管理管理,線路預(yù)訂管理、系統(tǒng)公告管理、修改個人密碼等功能(3)普通用戶用戶具有瀏覽旅游景點、旅游線路預(yù)訂、在線

23、注冊、論壇發(fā)帖留言等功能(4)具有較強的安全性,避免用戶的惡意操作系統(tǒng)的功能結(jié)構(gòu)圖,分普通用戶平臺,管理員平臺。其功能結(jié)構(gòu)分別如圖2.3和圖2.4所示。2.3 普通用戶功能模塊圖圖2.4 管理員用戶功能模塊圖2.4設(shè)計的基本思想設(shè)計思想遵循以下幾點:1. 采用B/S模式進行開發(fā),其優(yōu)點是后臺與前臺處理層次分明,而且符合眾多已經(jīng)習(xí)慣網(wǎng)頁搜索方式的用戶。2. 采用面向?qū)ο蟮拈_發(fā)與設(shè)計理念。運用面向?qū)ο蠹夹g(shù)的前提是對整體系統(tǒng)的高度和準確抽象,通過它可以保證系統(tǒng)良好的框架,進而帶來產(chǎn)品較強的穩(wěn)定性和運行效率。3. 采用模塊化設(shè)計。模塊化設(shè)計要求將整個系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡化設(shè)計和

24、實現(xiàn)過程。4. 簡單方便的系統(tǒng)界面。設(shè)計簡單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。5速度優(yōu)先原則。由于此工具最重要的評測標準就是速度,因此在設(shè)計過程中,具體過程盡量做到資源占用少,速度快。6設(shè)計既要突出重點,又要細致周到。要符合設(shè)計需求,在有可能改進的地方進行擴充,使系統(tǒng)更適應(yīng)用戶的需要。2.5性能需求2.5.1系統(tǒng)的安全性本旅游網(wǎng)系統(tǒng)在管理權(quán)限上要嚴格進行控制,具體要求如下:1.要想管理本系統(tǒng)的景點信息、線路信息,必須先要憑用戶名和密碼登陸到系統(tǒng)中,沒有權(quán)限的用戶不能通過任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴密性和安全性。2.在具體實現(xiàn)中設(shè)定不同權(quán)限,不同權(quán)限用戶登

25、錄到系統(tǒng)后,不能越級操作,管理員可以使使用所有模塊;普通用戶用戶只能在線瀏覽信息,比如,查詢景點信息、瀏覽線路信息、預(yù)訂線路等功能。2.5.2數(shù)據(jù)的完整性1.各種記錄信息的完整性,信息記錄內(nèi)容不能為空。2.各種數(shù)據(jù)間相互聯(lián)系的正確性。3.相同數(shù)據(jù)在不同記錄中的一致性。2.6界面需求界面設(shè)計目前已經(jīng)成為評價軟件質(zhì)量的一條重要指標,一個好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術(shù)是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個服務(wù)器端的JAVA庫單元提供了一個接口來服務(wù)于HTTP的應(yīng)用程序。 創(chuàng)建動態(tài)頁面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、

26、人-機對話的界面格式等。1.輸出設(shè)計輸出是由計算機對輸入的原始信息進行加工處理,形成高質(zhì)量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設(shè)計的主要職責(zé)和目標。系統(tǒng)設(shè)計的過程正好和實施過程相反,并不是從輸入設(shè)計到輸出設(shè)計,而是從輸出設(shè)計到輸入設(shè)計,這是因為輸出表格直接與使用者相聯(lián)系,設(shè)計的出發(fā)點應(yīng)當(dāng)是保證輸出表格方便地為使用者服務(wù),正確及時反映和組成用于各部門的有用信息。輸出設(shè)計的原則是考慮既要全面反映不同管理層的各項需要,又要言簡意賅,不要將用戶需要和不需要的都提供給用戶。2.輸入設(shè)計輸入數(shù)據(jù)的收集和錄入是比較費事的,需要大量的人力和一定設(shè)備,并且容易出錯。如果輸入系統(tǒng)的數(shù)據(jù)有錯誤

27、,則處理后的輸出將擴大這些錯誤,因此輸入數(shù)據(jù)的正確性對于整個系統(tǒng)質(zhì)量的好壞是具有決定性意義的。輸入設(shè)計的原則有如下幾點:1)輸入量應(yīng)保持在能滿足處理要求的最低限度。設(shè)計中可采用設(shè)置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤輸入量。輸入量越少,錯誤率就越少,數(shù)據(jù)準備時間也減少。2)輸入的準備及輸入過程應(yīng)盡量容易進行,從而減少錯誤的發(fā)生。3)應(yīng)盡量早對輸入數(shù)據(jù)進行檢查(盡量接近原數(shù)據(jù)發(fā)生點),以便使錯誤及時得到更正。4)輸入數(shù)據(jù)盡早地用其處理所需的形式被記錄,以避免數(shù)據(jù)由一種介質(zhì)轉(zhuǎn)移到另一種介質(zhì)時需要轉(zhuǎn)錄而可能發(fā)生的錯誤第三章 系統(tǒng)分析與設(shè)計3.1數(shù)據(jù)庫的分析與設(shè)計計算機信息系統(tǒng)以數(shù)據(jù)庫為核心

28、,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、統(tǒng)計和傳播等操作。數(shù)據(jù)庫已經(jīng)成為現(xiàn)在信息系統(tǒng)等計算機系統(tǒng)的基礎(chǔ)與核心部分。數(shù)據(jù)庫的設(shè)計一般經(jīng)過規(guī)劃。需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計5個步驟。3.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計概念設(shè)計是指在數(shù)據(jù)分析的基礎(chǔ)上自底向上的建立整個系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu),從用戶的角度進行視圖設(shè)計,最后對集成的結(jié)構(gòu)分析優(yōu)化得到最后結(jié)果。數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計采用實體聯(lián)系(E-R)模型設(shè)計方法。E-R模型法的組成元素有:實體、屬性、聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對實體特性的描述。概念設(shè)計的目標是產(chǎn)生反映企業(yè)組織信

29、息要求的數(shù)據(jù)庫概念結(jié)構(gòu),即概念模式。概念模式是獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),獨立于支持數(shù)據(jù)庫的DBMS,不依賴于計算機系統(tǒng)的,根據(jù)以上對數(shù)據(jù)庫的需求分析,并結(jié)合系統(tǒng)概念模型的特點及建立方法,建立E-R模型圖。根據(jù)以上對數(shù)據(jù)庫的需求分析,并結(jié)合系統(tǒng)概念模型的特點及建立方法,建立E-R模型圖。(1) 普通用戶實體E-R圖如圖3.1所示。性別姓名年齡密碼聯(lián)系方式用戶名普通用戶圖3.1普通用戶E-R圖(2)旅游景點實體E-R圖如圖3.2所示。門票景點介紹地址景點圖片景點名稱旅游景點圖3.2旅游景點信息實體E-R圖(3)旅游線路信息E-R圖如圖3.3所示。價格聯(lián)系人聯(lián)系電話發(fā)團地點發(fā)團時間發(fā)布時間名稱旅游線路圖

30、3.3 旅游線路信息實體E-R圖(4)公告信息E-R圖如圖3.4所示。公告內(nèi)容發(fā)布時間公告標題公告信息圖3.4 公告信息實體E-R圖(5)管理員信息E-R圖如圖3.5所示。登陸賬號登陸密碼用戶ID管理員圖3.5 管理員信息實體E-R圖(6)論壇帖子信息E-R圖如圖3.6所示。內(nèi)容發(fā)布時間標題論壇帖子圖3.6 論壇帖子信息實體E-R圖3.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計我們知道,數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特點進行轉(zhuǎn)換。*所有的主鍵必須定義非空(NOT NULL)*對于二元聯(lián)系應(yīng)按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。根據(jù)E-R模型

31、,普通用戶公寓管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細說明。(1)普通用戶表主要是記錄了普通用戶基本信息。表結(jié)構(gòu)如表3.1所示。表3.1普通用戶表(t_user)列名數(shù)據(jù)類型長度允許空是否主鍵說明user_idInt4否是 用戶IDuser_namevarchar50否否 用戶名user_pwvarchar50否否 用戶密碼user_realnamevarchar50否否姓名user_addressvarchar50否否住址user_sexvarchar50否否性別user_telvarchar20否否聯(lián)系方式user_emailvarchar20否否電子郵箱(2)旅游景點信息表主

32、要是記錄了旅游景點的基本信息,表結(jié)構(gòu)如表3.2所示。表3.2旅游景點信息表(t_jingdian)列名數(shù)據(jù)類型長度允許空是否主鍵說明IdInt 4 否 是景點IDNameVarchar50否否景點名稱DizhiVarchar50否否地址MenpiaoVarchar50否否門票價格JieshaoVarchar50否否簡單介紹FujianVarchar50否否景點圖片(3)旅游線路信息表主要是旅游線路的相關(guān)信息,其中ID是主鍵,表結(jié)構(gòu)如表3.3所示。表3.3旅游線路信息表(t_xianlu)列名數(shù)據(jù)類型長度允許空是否主鍵說明IdInt4否是線路IDxianluminchengvarchar50否否

33、線路名稱fatuandidianvarchar50否否發(fā)團地點fatuanshiianvarchar50否否發(fā)團時間xianlujiagevarchar50否否價格lianxidianhuavarchar50否否聯(lián)系人lianxidianhuavarchar50否否聯(lián)系電話fabushijianDate50否否發(fā)布時間(4)公告信息表 記錄了管理員發(fā)布的系統(tǒng)公告基本信息,表結(jié)構(gòu)如表3.4所示。表3.4公告信息表(t_gonggao)列名數(shù)據(jù)類型長度允許空是否主鍵說明gonggao_idInt4否是公告IDgonggao_titleVarchar50否否公告標題gonggao_contentVa

34、rchar50否否公告內(nèi)容gonggao_dataVarchar50否否發(fā)布日期(5)管理員信息表主要記錄的管理員的賬號信息,包括用戶名和密碼,表結(jié)構(gòu)如表3.5所示。表3.5管理員信息表(t_admin)列名數(shù)據(jù)類型長度允許空是否主鍵說明userIdInt4否是編號usernameVarchar50否否用戶名userPwVarchar50否否密碼3.1.3數(shù)據(jù)庫的連接原理采用JDBC連接數(shù)據(jù)庫的方式,只需在工程中導(dǎo)入對應(yīng)數(shù)據(jù)庫的jar包,就可以方便的對數(shù)據(jù)庫進行連接,在程序中,用Class.forName()方法來加載驅(qū)動程序,在用DriverManager的getConnection()方法

35、就可以創(chuàng)建一個數(shù)據(jù)庫連接。程序采用的是DAO模式來操作數(shù)據(jù)庫,DAO,是Java編程中的一種經(jīng)典模式,已被廣泛應(yīng)用,也是J2EE架構(gòu)中持久層框架的基礎(chǔ)知識,基于分層次式的軟件架構(gòu)來實現(xiàn)對數(shù)據(jù)庫的訪問操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫應(yīng)用程序的程序員不必關(guān)心數(shù)據(jù)庫的物理位置,已經(jīng)是何種數(shù)據(jù)庫,只需使用封裝數(shù)據(jù)庫中表示記錄的數(shù)據(jù)對象即可。其思想如圖3.10所示。封裝使用DataSourceDataAccessObjectBusinessObject創(chuàng)建/使用獲取/修改DataTransferObject圖3.10 DAO模式類圖 圖中Bussin

36、essObject是業(yè)務(wù)對象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對象,在應(yīng)用程序不同層次之間傳輸對象,在一個分布式應(yīng)用程序中,通??梢蕴岣哒淼男阅?;DataObjectAcces數(shù)據(jù)輸入/輸出對象封裝了對數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務(wù)邏輯和數(shù)據(jù)羅即將,是的編寫的軟件具有良好的層次式體系結(jié)構(gòu)。本系統(tǒng)為了方便數(shù)據(jù)庫的操作,主要使用DBContent的對象來接一個數(shù)據(jù)庫,代碼如下:public DBContent()String CLASSFORNAME= /連接數(shù)據(jù)庫的驅(qū)動String url= j

37、dbc:SqlServer2000:/localhost:1433;databaseName=db_bmxx ;String user=sa;/連接數(shù)據(jù)庫的用戶名String password=sa;/連接數(shù)據(jù)庫的密碼tryClass.forName(CLASSFORNAME);con= DriverManager.getConnection(url,user,password);/加載數(shù)據(jù)庫的驅(qū)動在程序需要連接數(shù)據(jù)庫的地方,只需要生成一個DBConnet的對象,就可以對數(shù)據(jù)庫進行連接并操作。3.2中文亂碼問題處理在程序中經(jīng)常會遇到中文亂碼的情況,如果手動的在servlet和jsp頁面進行設(shè)置

38、,相當(dāng)麻煩。因此,在程序的開始就寫了一個過濾器SetCharacterEncodingFilter。在web.xml中配置:SetCharacterEncodingFiltermyweb.util.filter.SetCharacterEncodingFilterencodinggb2312SetCharacterEncodingFilter/*/*表示工程下所有的頁面都會有此過濾器的處理對應(yīng)的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化init()方法中定義:public void init(FilterConfig filterConfig) t

39、hrows ServletException this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter(encoding); String value = filterConfig.getInitParameter(ignore); 在工具包util包中同樣定義了DataFormate類來處理字符轉(zhuǎn)換: public static String toUni(String gbStr) String uniStr = ; /*把字符串轉(zhuǎn)換成uincode編碼*/ if(gbStr = null)

40、 gbStr = ; 第四章 系統(tǒng)功能實現(xiàn)在管理信息系統(tǒng)的生命周期中,僅過了需求分析、系統(tǒng)設(shè)計等階段之后,便開始了系統(tǒng)實施階段。在系統(tǒng)分析和設(shè)計階段,功能和技術(shù)設(shè)計上,系統(tǒng)實施階段要繼承此前面各個階段的工作成果,將技術(shù)設(shè)計轉(zhuǎn)化為物理實現(xiàn),因此系統(tǒng)實施的成果是系統(tǒng)分析和設(shè)計階段的結(jié)晶。4.1管理員登陸頁面1.描述:為了保證系統(tǒng)的安全性,要使用本系統(tǒng)必須先登陸到系統(tǒng)中。2.程序運行效果圖如圖4.1所示:圖4.1 管理員登陸頁面設(shè)計3.在登陸頁面輸入用戶名和密碼后,點擊提交按鈕,跳轉(zhuǎn)到登陸的service中,在該service中會對用戶名,密碼進行判斷,進入到管理界面,如果錯誤則提示“用戶名和密碼不

41、正確”,頁面調(diào)轉(zhuǎn)到登陸頁。loginservice關(guān)鍵代碼:public String login(String userName,String userPw,int userType)tryThread.sleep(700);String result=no;if(userType=0) String sql=from TAdmin where userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.

42、size()=0) result=no;else WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute(userType, 0); session.setAttribute(admin, admin); result=yes;4.2管理員模塊1.描述:管理員主頁面:左方頁面展示了管理員可操作的七大功能,進入相關(guān)的管理頁面可以鏈接到子菜單,并且高亮顯示,每個管理模塊下面都有

43、相應(yīng)的子菜單。2.程序運行效果圖如圖4.2所示。圖4.2管理員主頁面在每個jsp頁面將會對相關(guān)用戶進行攔截操作,這樣可以提高安全性,防止用戶不經(jīng)過登陸頁面而進入任何子菜單頁面:if(session.getAttribute(user)=null) out.print(alert(請先登錄!);window.open(./index.jsp,_self); 4.2.1旅游景點管理1.景點信息錄入(1)描述:管理員輸入旅游景點相關(guān)信息后點擊錄入按鈕,如果是沒有輸入完整的信息,比如沒有輸入旅游景點名稱,都會給出相應(yīng)的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit=re

44、turn checkForm()來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。(2)程序效果圖如圖4.3所示。圖4.3 景點信息錄入(3)流程圖如圖4.4所示。登陸系統(tǒng)管理員錄入旅游景點信息系統(tǒng)驗證旅游景點戶信息錄入成功結(jié) 束通過未通過圖4.4 景點信息錄入流程圖2.景點信息管理1.描述:管理員點擊左側(cè)的菜單“旅游景點管理”,頁面跳轉(zhuǎn)到景點管理界面,調(diào)用后臺的action類查詢所有景點信息。2.程序效果圖如下圖4.5所示。圖4.5 旅游景點信息管理景點管理關(guān)鍵代碼:public String jingdianAdd()TJingdian jingdian=new TJingd

45、ian();jingdian.setName(name);jingdian.setDizhi(dizhi);jingdian.setMenpiao(menpiao);jingdian.setJieshao(jieshao);jingdianDAO.save(jingdian);this.setMessage(操作成功);this.setPath(jingdianMana.action);return succeed;public String jingdianMana()Map request=(Map)ServletActionContext.getContext().get(request

46、);request.put(jingdianList, jingdianList);return ActionSupport.SUCCESS;public String jingdianDel()TJingdian jingdian=jingdianDAO.findById(id);jingdian.setDel(yes);jingdianDAO.getHibernateTemplate().update(jingdian);return succeed;public String jingdianDetailHou()TJingdian jingdian=jingdianDAO.findBy

47、Id(id);Map request=(Map)ServletActionContext.getContext().get(request);request.put(jingdian, jingdian);return ActionSupport.SUCCESS;3.景點信息刪除1.描述:先是點擊景點信息管理,頁面跳轉(zhuǎn)到景點管理界面,瀏覽所有的景點信息,點擊要刪除的景點,彈出的確定對話框,即可刪除該景點信息。2.程序效果圖如下圖4.6所示圖4.6 景點信息刪除4.2.2旅游線路管理1.線路信息錄入1.描述:在此頁面主要是輸入線路信息,包括線路名稱、發(fā)團時間、發(fā)團地點、線路價格、聯(lián)系人、聯(lián)系電話

48、等,其中線路介紹這個地方,使用的是開源的在線文本編輯器fckEditor這個富文本框?qū)崿F(xiàn)。是否為空也是通過form表單中的onsubmit=return checkForm()來檢查。2.程序效果圖如圖4.7所示。圖4.7 線路信息錄入3.在整個系統(tǒng)中所有涉及輸入日期的地方都是采用的mydata97這個日歷控件的方式來實現(xiàn),要在工程中導(dǎo)入Calendar.js文件,在文本框的屬性定義中定義方法onclick=new Calendar().show(this);即可。2.線路信息管理1.描述:管理員點擊左側(cè)的菜單“線路管理”,頁面跳轉(zhuǎn)到線路管理界面,調(diào)用后臺的線路Action類查詢出所有的線路信

49、息,綁定到request對象,然后頁面跳轉(zhuǎn)到相應(yīng)的jsp,顯示出線路信息。2.程序效果圖如下圖4.8所示。圖4.8 線路信息管理頁面線路管理關(guān)鍵代碼:public String xianluAdd()TXianlu xianlu=new TXianlu();xianlu.setXianlumincheng(xianlumincheng);xianlu.setFatuandidian(fatuandidian);xianlu.setFatuanshiian(fatuanshiian);xianlu.setXianlujiage(xianlujiage);xianlu.setLianxidianh

50、ua(lianxidianhua);xianlu.setDel(no);xianluDAO.save(xianlu);this.setMessage(操作成功);this.setPath(xianluMana.action);return succeed;public String xianluMana()Map request=(Map)ServletActionContext.getContext().get(request);request.put(xianluList, xianluList);return ActionSupport.SUCCESS;public String xia

51、nluDel()TXianlu xianlu=xianluDAO.findById(id);xianlu.setDel(yes);xianluDAO.getHibernateTemplate().update(xianlu);this.setMessage(操作成功);this.setPath(xianluMana.action);return succeed;4.2.3會員信息管理1.會員信息管理1.描述:游客訪問該站點的時候,可以注冊成為會員,管理員登陸后可以管理會員信息,點擊左側(cè)的“會員管理“,讀取數(shù)據(jù)庫中,提取會員的信息,綁定到request對象,再輸出到相應(yīng)的jsp顯示頁面頁面。2.程序效果圖如圖4.9所示。圖4.9會員信息管理會員管理核心代碼:public String userReg()TUser user=new TUser();user.setUserName(userName);user.setUserPw(userPw);user.setUserAddress(userAddress);user.setUserTel(userTel);user.set

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論