JSP河南省旅游資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
JSP河南省旅游資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
JSP河南省旅游資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
JSP河南省旅游資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
JSP河南省旅游資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目 錄 摘 要.2 Abstract.3 第 1 章 緒論.4 1.1 開發(fā)背景.4 1.2 系統(tǒng)開發(fā)的目標(biāo)與期望.4 1.3 系統(tǒng)主要研究工作.5 第 2 章 系統(tǒng)開發(fā)工具和環(huán)境.6 2.1 前臺技術(shù) JSP .6 2.2 后臺數(shù)據(jù)庫選擇 MySQL5.0 .6 2.3 系統(tǒng)開發(fā) SSH 框架技術(shù).7 2.4 系統(tǒng)的開發(fā)環(huán)境.7 第 3 章 需求分析和總體設(shè)計(jì).8 3.1 系統(tǒng)需求分析.8 3.2 系統(tǒng)的總體設(shè)計(jì) .8 第 4 章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì).14 4.1 數(shù)據(jù)庫需求分析.14 4.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) .14 4.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) .17 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn).20 5.

2、1 用戶登錄界面設(shè)計(jì).20 5.2 用戶注冊界面設(shè)計(jì).20 5.3 景點(diǎn)信息窗體的設(shè)計(jì).24 5.4 特色美食信息窗體的設(shè)計(jì).29 5.5 網(wǎng)友游記信息窗體的設(shè)計(jì).30 5.6 旅游問答信息窗體的設(shè)計(jì).31 5.7 后臺系統(tǒng)說明窗體的設(shè)計(jì).32 第 6 章 測試與維護(hù).36 6.1 軟件測試概述.36 6.2 系統(tǒng)測試的內(nèi)容.37 6.3 軟件維護(hù).40 結(jié) 論.44 致 謝.45 參考文獻(xiàn).46 河南省旅游資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件工程 劉曉敏 摘 要 隨著 INTERNET 技術(shù)的發(fā)展,互聯(lián)網(wǎng)在中國逐步普及,人們對網(wǎng)絡(luò)的需求也 日益增長,利用計(jì)算機(jī)實(shí)現(xiàn)旅游資源的管理勢在必行。本系統(tǒng)從初

3、步調(diào)查開始,詳細(xì) 介紹了需求分析、流程和數(shù)據(jù)分析,并進(jìn)行了系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì). 系 統(tǒng)采用 DREAMWEAVER 編寫 JSP 腳本,MySQL5.0 建立數(shù)據(jù)庫,從界面簡潔、實(shí) 用的要求出發(fā),采用 SSH 框架完成了旅游資源管理工作的主要部分,包括旅游資源 和用戶的信息瀏覽,添加,修改,刪除,查詢等,并且實(shí)現(xiàn)了一些變量的取值,保 存和統(tǒng)計(jì)。 旅游資源管理系統(tǒng)是對旅游信息資源進(jìn)行管理的系統(tǒng)。隨著旅游資源在種類 和數(shù)量上的增多,以及涉及的方面相對較廣,旅游資源的管理難度也在增大。伴隨 計(jì)算機(jī)的普及,人們也愿意并習(xí)慣通過計(jì)算機(jī)來獲取信息資源,人們可以在最短的 時間內(nèi)獲信息,然后擬定適合

4、自己的旅游方案,既節(jié)省人力物力又提高工作效率, 達(dá)到了事半功倍的效果。 因此,本文就詳細(xì)的設(shè)計(jì)了一個旅游資源管理系統(tǒng),把旅游中的一些相關(guān) 的詳細(xì)信息囊括其中,盡量使整個管理系統(tǒng)層次鮮明,概括清楚。在閱讀完本文后 你將能夠清楚的了解到一個旅游資源管理系統(tǒng)的具體設(shè)計(jì)和實(shí)現(xiàn)過程。 【關(guān)鍵詞關(guān)鍵詞】:旅游資源管理 SSH JSP MySQL5.O Abstract With the development of INTERNET technology, the gradual popularization of Internet in China, people on the network grow

5、ing demand, by using computer to realize the management of tourism resources be imperative. The system started from the preliminary investigation, a detailed needs analysis, process and data flow analysis, and the overall structure of the system design and database design. System using DREAMWEAVER w

6、rite JSP scripts, MySQL5.0 to establish database, the interface simple, practical requirement, completion tour resources management work of main part, including the tourism resources and users information browse, add, modify, delete, query, and the realization of some value, save and statistics. Tou

7、rism information management system of tourism information resources management system. With the tourism information in type and quantity increase, and refers to the relatively wide, tourism information management difficulty also is in increase. With the popularity of computers, people are willing to

8、 and used by the computer to access the information resources, people can be in the shortest possible time to obtain information, and then draw up their own tourism program, saving manpower and material resources and improve work efficiency, achieve a multiplier effect. Therefore, this paper details

9、 the design of a management system of tourism resources, the tourism in of some related information include among them, try to make the whole management system distinct levels, generalize clear. Having read this paper you will be able to see clearly a tourism resource management system design and im

10、plementation of specific process 【Key words】: tourism resource management system SSH JSP MySQL5.O 第第 1 章章 緒論緒論 信息時代已經(jīng)來臨,互連網(wǎng)的觸角早已覆蓋了這個世界的每個角落,如今, 旅游資源的網(wǎng)絡(luò)化,已經(jīng)成為一種在信息時代生存的必要手段。 1.1 開發(fā)背景開發(fā)背景 隨著社會的高速發(fā)展,人們生活水平的不斷提高,以及工作節(jié)奏的加快,旅游 逐漸成為一個熱門的話題,因?yàn)槠湫问降亩鄻?,涉及的面比較廣,成為人們放松壓 力,調(diào)節(jié)情緒的首要選擇。我國的計(jì)算機(jī)技術(shù)誕生于 20 世紀(jì) 40 年代,起步晚但是

11、 發(fā)展非常迅速,雖然把計(jì)算機(jī)引入管理的領(lǐng)域也就只有短短的 30 年,但是,卻給管 理領(lǐng)域帶來了翻天覆地的變化。伴隨計(jì)算機(jī)的普及,人們也愿意并習(xí)慣通過計(jì)算機(jī) 來獲取信息資源,人們可以在最短的時間內(nèi)獲取旅游信息,然后擬定適合自己的旅 游方案,大大的節(jié)省自己的時間、精力,獲得最大限度的身心滿足。 傳統(tǒng)的管理方法采用的是人管理人的方法,由相關(guān)人員去制定一些規(guī)定并監(jiān)督 執(zhí)行,這當(dāng)然會給管理帶來很多的主觀性,而傳統(tǒng)的旅游信息管理也是采用人力的 自然管理和紙制記錄。在查詢,更新時都是由人一條一條的記錄,這樣不僅需要大 量的人力還需要大量的辦公用品。這必然造成對人力和物力的浪費(fèi),而且由于工作 量大并且繁瑣,就

12、會帶來效率方面的低下,而這些就會無形地使利潤下滑。 河南省旅游資源管理系統(tǒng)正是在這樣的背景下應(yīng)運(yùn)而生了?,F(xiàn)實(shí)的要求是旅游 資源管理需要一個既可以節(jié)省人力物力又可以節(jié)省財(cái)力,并且在同等時間的基礎(chǔ)上 提高效率,從而提高整個利潤。旅游資源管理系統(tǒng)采取的是資源分類管理的理念, 根據(jù)旅游所涉及的方方面面的具體要求進(jìn)行系統(tǒng)開發(fā)的。 河南省旅游信息管理信息系統(tǒng)是以客戶機(jī)/服務(wù)器(Client/Server,C/S)結(jié)構(gòu)為基礎(chǔ)。 當(dāng)客戶發(fā)出請求后服務(wù)器會快速的對其的請求作出響應(yīng)并解決其請求。這就解決了 在人力方面的浪費(fèi)。由于請求和解決請求的過程都是通過計(jì)算機(jī)完成的這樣就解決 了人力的繁瑣,還避免了傳統(tǒng)管理方法

13、的一些由于人的疏忽造成的錯誤。提高了工 作的正確率和可靠性。 本次畢業(yè)設(shè)計(jì)開發(fā)的河南省旅游資源管理系統(tǒng)具體內(nèi)容包括:系統(tǒng)用戶模塊、 旅游景點(diǎn)模塊、特色美食模塊、網(wǎng)友游記模塊和旅游問答模塊。并在這些模塊中完 成了各個環(huán)節(jié)的添加、修改、刪除、查詢等功能。 河南省旅游資源管理系統(tǒng)設(shè)計(jì)的方面很廣,除了可以找到相關(guān)的旅游信息外, 還可以查詢到景點(diǎn)相關(guān)的信息等,使得查找數(shù)據(jù)變的簡單,不必大量沉浸在書籍和 相關(guān)影印的材料里,為搜集資料提供便利。而且在網(wǎng)上的信息更新及時,不會出現(xiàn) 現(xiàn)實(shí)和實(shí)際不符的情況,這也是相對于傳統(tǒng)管理的優(yōu)勢所在。 1 1. .2 2 系系統(tǒng)統(tǒng)開發(fā)的目標(biāo)與開發(fā)的目標(biāo)與期望期望 河南省旅游資

14、源管理系統(tǒng)設(shè)計(jì)開發(fā)的宗旨是減少人力、提高效率。所以,在設(shè) 計(jì)上是盡量涉及到和旅游相關(guān)的方方面面,這樣在提高效率的基礎(chǔ)上也提高了可靠 性和完整性。 本論文研究的是河南省旅游信息的具體設(shè)計(jì)開發(fā)應(yīng)用。具體的設(shè)計(jì)包括:系統(tǒng) 用戶模塊、旅游景點(diǎn)模塊、特色美食模塊、網(wǎng)友游記模塊和旅游問答模塊。在這些 模塊中實(shí)現(xiàn)了添加、刪除、修改、查詢的功能。 1.3 系統(tǒng)主要研究工作系統(tǒng)主要研究工作 河南省旅游資源管理系統(tǒng)的制作目的是完成一個有易擴(kuò)展、穩(wěn)定、安全、操作 簡單方便、界面友好等特點(diǎn)的交互平臺,課題主要工作有: (1)設(shè)計(jì)方案所采用的系統(tǒng)技術(shù)、工具和系統(tǒng)的用戶、角色、權(quán)限管理、資源信 息的管理、各類資料共享、數(shù)

15、據(jù)庫系統(tǒng)的管理等。 (2)制作資源管理系統(tǒng)的設(shè)計(jì)思想。如數(shù)據(jù)的采集、學(xué)習(xí)信息化的思路等等。 第第 2 章章 系統(tǒng)開發(fā)工具和環(huán)境系統(tǒng)開發(fā)工具和環(huán)境 開發(fā)工具的選擇對一個系統(tǒng)來說很重要,既決定了開發(fā)人員的開發(fā)效率,也對 頁面的美觀和操控性起著重要作用,同時也對軟件產(chǎn)品的易維護(hù)性和擴(kuò)充性有著重 要影響。 2.1 前臺技術(shù)前臺技術(shù) JSP JSP 技術(shù)使用 Java 編程語言編寫類 XML 的 tags 和 scriptlets,來封裝產(chǎn)生動態(tài) 網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務(wù)端的資源的應(yīng)用邏 輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)顯示分離,支持可重用的基于組

16、件的設(shè)計(jì),使基于 Web 的應(yīng)用程序的開發(fā)變得迅速和容易。其特性包括: 一次編寫,到處運(yùn)行。 系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中 進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。 強(qiáng)大的可伸縮性。從只有一個小的 jar 文件即可運(yùn)行 Servlet/JSP,到由多臺服務(wù) 器進(jìn)行集群和負(fù)載均衡,到多臺 Application 進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器 到無數(shù)臺服務(wù)器,Java 顯示了一個巨大的生命力。 2.2 后臺數(shù)據(jù)庫的選擇后臺數(shù)據(jù)庫的選擇 MySQL5.0 MySQL5.0是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,MySQL 數(shù)據(jù) 庫系統(tǒng)使用最常用

17、的數(shù)據(jù)庫管理語言-結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。 主要特性有: 1. 性能的提高:mysql5.0 采用了新的數(shù)據(jù)存儲架構(gòu),單個數(shù)據(jù)表的容量比 4.0 高出很多,并且在進(jìn)行數(shù)據(jù)檢索時性能更高。 2. 支持自定義的過程:mysql5.0 可以讓您自己添加函數(shù),這跟 sqlserver 的自定 義函數(shù)類似,您可以將一些常用的功能寫成函數(shù),調(diào)用時就像調(diào)用 mysql 的系統(tǒng)函 數(shù)一樣,非常方便。 3. 支持存儲過程:用戶只需要寫 一次存儲過程就可以立刻使用許多應(yīng)用程序 來調(diào)用該過程,從而實(shí)現(xiàn)特定的業(yè)務(wù)邏輯流程。數(shù)據(jù)庫管理員也可以通過標(biāo)準(zhǔn)的管 理函數(shù)來處理不同版本中的數(shù)據(jù)庫資源,比如數(shù)據(jù)庫結(jié)

18、構(gòu) 和安全權(quán)限等。 。 4. 支持觸發(fā)器:觸發(fā)器可以讓您的數(shù)據(jù)庫在發(fā)生特定的事件時,自動執(zhí)行特定 的操作,如調(diào)用一些函數(shù),存儲過程等;觸發(fā)器對保證數(shù)據(jù)的統(tǒng)一性、減少數(shù)據(jù)庫 管理員的工作方面有很好的幫助。 5. 支持視圖:您可以將幾個表的某幾個列組成一個視圖,方便查詢,免除每次 都用 join 語句從關(guān)聯(lián)表讀取相數(shù)據(jù)。 6. 支持本地化:對數(shù)種不同字符集的全面支持,包括 latin1 (cp1252)、 german、big5、ujis 等,并提供了 Unicode 支持。 2.3 SSH 框架技術(shù)框架技術(shù) SSH 為 struts+spring+hibernate 的一個集成框架,是目前較流行

19、的一種 JAVA Web 應(yīng)用程序開源框架。 集成 SSH 框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層 和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的 Web 應(yīng)用程序。其中使用 Struts 作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé) MVC 的分離,在 Struts 框架的模型部分,利用 Hibernate 框架對持久層提供支持,業(yè)務(wù)層用 Spring 支 持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn) 為基本的 Java 對象,然后編寫基本的 DAO 接口,并給出 Hibernate 的 DAO 實(shí)現(xiàn), 采用 Hibernate 架構(gòu)實(shí)

20、現(xiàn)的 DAO 類來實(shí)現(xiàn) Java 類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后 由 Spring 完成業(yè)務(wù)邏輯。 系統(tǒng)的基本業(yè)務(wù)流程是: 在表示層中,首先通過 JSP 頁面實(shí)現(xiàn)交互界面,負(fù)責(zé) 傳送請求(Request)和接收響應(yīng)(Response),然后 Struts 根據(jù)配置文件(struts-config.xml) ActionServlet 接收到的 Request 委派給相應(yīng)的 Action 處理。在業(yè)務(wù)層中,管理服務(wù) 組件的 Spring IoC 容器負(fù)責(zé)向 Action 提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象 數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升

21、系 統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于 Hibernate 的對象化映射和數(shù) 據(jù)庫交互,處理 DAO 組件請求的數(shù)據(jù),并返回處理結(jié)果。 采用上述開發(fā)模型, 不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的 分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會 對前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有 利于團(tuán)隊(duì)成員并行工作,大大提高了開發(fā)效率。 2.4 系統(tǒng)的開發(fā)環(huán)境系統(tǒng)的開發(fā)環(huán)境 本次開發(fā)的河南省旅游資源管理系統(tǒng)對操作系統(tǒng)的要求如下: (1)硬件要求: CPU:最低 Intel Pentium II 50

22、0 MHz。 磁盤空間:250MB(完全安裝) ,155MB(快速安裝) 。 內(nèi)存:128MB(最好 256MB 以上) 。 顯示:1024*768,256 色 (2)軟件要求: Windows 2000 以上的操作系統(tǒng)。 Dreamweaver 8 Myeclipse 8.5。 Mysql 5.0。 第第 3 章章 需求分析和總體設(shè)計(jì)需求分析和總體設(shè)計(jì) 3.1 系統(tǒng)需求分析 3.1.1 總體需求概述 根據(jù)旅游資源管理的需求,我們對景點(diǎn)、旅游常見問題和河南省特色美食等旅 游相關(guān)信息的進(jìn)行管理。主要包括景點(diǎn)資源的管理、河南省特色美食管理以及網(wǎng)友 游記管理等幾個方面的內(nèi)容。這幾方面內(nèi)容中包括信息的

23、錄入和查詢,以及信息的 實(shí)時更新。 管理員針對信息的變更,對相關(guān)信息進(jìn)行管理,保證信息的最新性和準(zhǔn)確性, 易于日常的操作和維護(hù)。 3.1.2 需求的具體分析 根據(jù)總體功能需求特將具體功能需求描述如下: (1)旅游信息的功能需求: 用戶可以對景點(diǎn)信息進(jìn)行瀏覽,并根據(jù)景點(diǎn)所在區(qū)域和景點(diǎn)類型進(jìn)行查詢。 系統(tǒng)管理員根據(jù)景點(diǎn)信息的更新,進(jìn)行添加、修改和刪除的操作。 (2)信息服務(wù)的功能需求: 因?yàn)楸鞠到y(tǒng)是針對河南地區(qū)的旅游系統(tǒng),所以為方便用戶對景點(diǎn)信息的了 解,在 本系統(tǒng)中提供了相應(yīng)的河南特色美食、游記瀏覽和旅游問答等模塊。 3.2 系統(tǒng)的總體設(shè)計(jì) 3.2.1 系統(tǒng)的模塊劃分 根據(jù)對系統(tǒng)需求的分析,可以

24、把系統(tǒng)劃分:系統(tǒng)用戶管理模塊、系統(tǒng)管理員管 理模塊、景點(diǎn)信息模塊、特色美食信息模塊、網(wǎng)友游記模塊、旅游問答模塊、退出 系統(tǒng)模塊。 (如圖 3-1 所示) 。 系統(tǒng)總體模塊 景 點(diǎn) 信 息 管 理 模 塊 特 色 美 食 管 理 模 塊 網(wǎng) 友 游 記 管 理 模 塊 旅 游 問 答 管 理 模 塊 系 統(tǒng) 用 戶 管 理 模 塊 系 統(tǒng) 管 理 員 管 理 模 塊 圖 3-1 系統(tǒng)總體模塊圖 退 出 系 統(tǒng) 模 塊 3.2.2 各模塊功能設(shè)計(jì) (1)系統(tǒng)管理員管理模塊 系統(tǒng)管理員管理模塊主要是對系統(tǒng)管理員信息進(jìn)行維護(hù)。包括: 管理員信息的查詢:瀏覽管理員的相關(guān)信息。 管理員信息的添加:添加新的

25、管理員使其成為系統(tǒng)管理員。 密碼修改:用戶名為主鍵,不可修改,只可以修改密碼。 管理員的刪除:根據(jù)用戶名刪除系統(tǒng)用戶的信息。 系統(tǒng)管理員模塊中各子模塊的實(shí)際意義是使系統(tǒng)的訪問量增大,管理員的增多 可以方便系統(tǒng)更好的管理和維護(hù)。 (如圖 3-2 所示) 。 管理員信息管理 管 理 員 信 息 查 詢 管 理 員 密 碼 修 改 管 理 員 添 加 管 理 員 刪 除 圖 3-2 系統(tǒng)管理員功能模塊 (2)系統(tǒng)用戶管理模塊 系統(tǒng)用戶管理模塊主要是對系統(tǒng)用戶信息進(jìn)行維護(hù)。包括: 系統(tǒng)用戶信息的查詢:管理員瀏覽系統(tǒng)用戶的相關(guān)信息。 系統(tǒng)用戶信息的添加:添加新的系統(tǒng)用戶。 密碼修改:用戶名為主鍵,不可修

26、改,只可以修改密碼。 系統(tǒng)用戶的刪除:根據(jù)用戶名刪除系統(tǒng)用戶的信息。 系統(tǒng)用戶管理模塊中各子模塊的實(shí)際意義是使系統(tǒng)管理員可以更方便對系統(tǒng)用 戶信息進(jìn)行管理和維護(hù)。 (如圖 3-2 所示) 。 系統(tǒng)用戶信息管理 系 統(tǒng) 用 戶 信 息 查 詢 系 統(tǒng) 用 戶 密 碼 修 改 系 統(tǒng) 用 戶 信 息 添 加 系 統(tǒng) 用 戶 信 息 刪 除 圖 3-3 系統(tǒng)用戶管理功能模塊 (3)景點(diǎn)信息管理模塊 景點(diǎn)信息管理模塊包括:景點(diǎn)信息查詢模塊、景點(diǎn)信息添加模塊、景點(diǎn)信息修 改模塊和景點(diǎn)信息刪除模塊。具體功能如下: 景點(diǎn)信息查詢:根據(jù)旅游信息景點(diǎn)的類型或所在地,或者景點(diǎn)所屬類型進(jìn)行相 應(yīng)的查詢。也可以直接查

27、詢?nèi)烤包c(diǎn)信息。 景點(diǎn)信息添加:對新的景點(diǎn)信息進(jìn)行錄入。 景點(diǎn)信息修改:對景點(diǎn)信息的變更做出及時的修改。 景點(diǎn)信息刪除:對景點(diǎn)信息進(jìn)行刪除。 景點(diǎn)信息管理模塊中各子模塊的實(shí)際意義是當(dāng)管理員在管理旅游信息的時候, 可以快速、便捷地將景點(diǎn)信息添加的系統(tǒng)中,同時對信息進(jìn)行維護(hù)和管理,并與數(shù) 據(jù)庫中數(shù)據(jù)相連接,這樣不僅方便游客瀏覽,還提高了信息的準(zhǔn)確性。管理員還可 以對景點(diǎn)信息進(jìn)行查詢,確保景點(diǎn)中信息的準(zhǔn)確性、及時性,從而保證系統(tǒng)的準(zhǔn)確 性和完整性。 (如圖 3-3 所示) 。 旅游信息管理 旅 游 信 息 查 詢 旅 游 信 息 添 加 旅 游 信 息 修 改 旅 游 信 息 刪 除 圖 3-4 旅

28、游信息功能模塊 (4)特色美食信息管理模塊 主要是對河南省特色美食的信息進(jìn)行管理和維護(hù)。 特色美食信息模塊包括:特色美食信息查詢模塊、添加模塊、修改模塊和刪除 模塊,具體功能如下: 特色美食信息查詢:根據(jù)特色美食所在地,進(jìn)行相應(yīng)的查詢。也可以直接查詢 河南省全部特色美食的信息。 特色美食信息添加:添加新加入的特色美食信息。 特色美食信息修改:對于各特色美食相關(guān)信息的變更做出及時的修改。 特色美食信息刪除:對于特色美食信息進(jìn)行刪除。 特色美食信息管理模塊中各子模塊的實(shí)際意義是當(dāng)管理員在管理特色美食信息 的時候,可以快速、便捷地將特色美食信息添加的系統(tǒng)中,同時對信息進(jìn)行維護(hù)和 管理,提高信息的準(zhǔn)確

29、性。管理員還可以直接對特色美食信息進(jìn)行查詢,確保特色 美食信息的準(zhǔn)確性,從而保證系統(tǒng)的準(zhǔn)確性和完整性。信息的添加和修改與后臺數(shù) 據(jù)庫進(jìn)行動態(tài)的連接。 (如圖 3-4 所示) 。 特色美食信息管理 特 色 美 食 信 息 查 詢 特 色 美 食 信 息 添 加 特 色 美 食 信 息 修 改 特 色 美 食 信 息 刪 除 圖 3-5 特色美食信息功能模塊 (5)旅游問答信息管理模塊 主要對旅游常見問題信息進(jìn)行管理和維護(hù)。 旅游問答信息管理模塊包括: 旅游常見問題的添加:用戶可以提出旅游相關(guān)問題。 旅游常見問題的查詢:可以查詢所有相關(guān)信息。 旅游常見問題的刪除:管理員對非法旅游相關(guān)問答進(jìn)行刪除操

30、作。 旅游問答信息管理 旅 游 問 答 信 息 查 詢 旅 游 問 答 信 息 修 改 圖 3-6 旅游問答信息功能模塊 旅 游 問 答 信 息 刪 除 (6)網(wǎng)友游記信息管理模塊 主要對網(wǎng)友游記信息進(jìn)行管理和維護(hù)。 網(wǎng)友游記信息管理模塊包括: 網(wǎng)友游記信息添加:管理員添加網(wǎng)友游記相關(guān)信息。 網(wǎng)友游記信息瀏覽:系統(tǒng)用戶可以瀏覽所有網(wǎng)友游記相關(guān)信息。 網(wǎng)友游記信息刪除:管理員對一些進(jìn)行刪除操作。 網(wǎng)友游記信息管理 網(wǎng) 友 游 記 信 息 瀏 覽 網(wǎng) 友 游 記 信 息 添 加 圖 3-7 網(wǎng)友游記信息功能模塊 網(wǎng) 友 游 記 信 息 刪 除 (7)退出系統(tǒng)模塊 系統(tǒng)用戶可以根據(jù)自己的需要來進(jìn)行注

31、銷系統(tǒng)。注銷系統(tǒng)時會出現(xiàn)提示對話框, 選擇確定后系統(tǒng)就會安全的退出了。 第 4 章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 本系統(tǒng)使用的是 MySQL 5.0 數(shù)據(jù)庫管理系統(tǒng),下面詳細(xì)地介紹一下本系統(tǒng)的數(shù) 據(jù)庫結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)。 4.1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析 進(jìn)行整個數(shù)據(jù)庫設(shè)計(jì)必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)和處理) 。用戶需 求分析是整個設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)時間的一步。作為最基本的需求 分析做得是否充分與準(zhǔn)確,決定了在其構(gòu)建數(shù)據(jù)庫的速度和質(zhì)量。 用戶的需求具體體現(xiàn)在各種信息的提供、存儲、更新和查詢方面,這就要求數(shù) 據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出與輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理 的流程

32、,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。以這種思想作為 設(shè)計(jì)策略,河南省旅游資源管理系統(tǒng)至少有以下 5 項(xiàng)需求: 用戶表:包括的數(shù)據(jù)項(xiàng)有用戶姓名、密碼、權(quán)限等。 景點(diǎn)信息表:包括的數(shù)據(jù)項(xiàng)有景點(diǎn)所屬地、所屬類型、景點(diǎn)圖片等。 特色美食信息表:包括的數(shù)據(jù)項(xiàng)有圖片、所屬地等。 網(wǎng)友游記信息表:包括的數(shù)據(jù)項(xiàng)有網(wǎng)友名、游記內(nèi)容等。 旅游問題信息表:包括的數(shù)據(jù)項(xiàng)有登陸用戶名、問題、編入時間等。 旅游回答信息表:包括的數(shù)據(jù)項(xiàng)有登錄用戶名、回答、編入時間等。 4.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì)是將分析得出的用戶需求信息抽象為概念模型的過程。即在需求 分析的基礎(chǔ)上,設(shè)計(jì)出能夠

33、滿足用戶需求的各種實(shí)體以及它們之間的相互關(guān)聯(lián)的概 念結(jié)構(gòu)設(shè)計(jì)模型。這樣才能更好、更準(zhǔn)確的用某一 DBMS 實(shí)現(xiàn)這一些需求,這是整 個數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。 概念結(jié)構(gòu)的主要特點(diǎn)是能真實(shí)、充分地反映現(xiàn)實(shí)世界,容易理解、更改,容易 向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是 E-R 模型。 本網(wǎng)站根據(jù)上面的需求分析和數(shù)據(jù)庫設(shè)計(jì)規(guī)劃得出的實(shí)體有:用戶實(shí)體,景區(qū)實(shí)體, 美食實(shí)體,游記實(shí)體、旅游問題實(shí)體、旅游回答實(shí)體。部分對應(yīng)實(shí)體的 E-R 圖,如 圖 3.9 所示。 特色美食 編輯時間 美食 描述 美食名稱編號 圖片 圖 4-1 特色美食實(shí)體屬性圖 所屬地 景點(diǎn) 編入時間 所屬地 所屬類

34、型 景點(diǎn)描述 景點(diǎn)名稱 編號 景點(diǎn)概述 圖 4-2 景點(diǎn)實(shí)體屬性圖 景點(diǎn)圖片 系統(tǒng)用戶 編號 權(quán)限性別 密碼 圖 4-3 系統(tǒng)用戶信息實(shí)體屬性圖 用戶名 郵箱 游記 游記概述 游記內(nèi)容 發(fā)表者 游記編號 圖 4-4 游記實(shí)體屬性圖 問題 提問者 問題狀態(tài) 問題 問題編號 圖 4-5 問題實(shí)體屬性圖 回答 對應(yīng)問題編號 回答 回答者 回答編號 圖 4-6 回答實(shí)體屬性圖 4.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把 概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本 E-R 圖轉(zhuǎn)換為與選用 DBMS 產(chǎn)品所支持的數(shù)據(jù)模型 相符合的邏輯結(jié)構(gòu)。 設(shè)計(jì)邏

35、輯結(jié)構(gòu)時一般要分 3 步進(jìn)行: (1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型; (2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定的 DBMS 支持下的數(shù)據(jù)模型轉(zhuǎn)換; (3)對數(shù)據(jù)模型進(jìn)行優(yōu)化。 將以上的數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換為關(guān)系模型。數(shù)據(jù)庫表格以用戶信息表、景 點(diǎn)信息表和特色美食信息表等為例,設(shè)計(jì)結(jié)果如下: 表表 4.1 用戶信息表用戶信息表(user) 字段名字段類型 字段大小索引 用戶編號 (userID) 自動編號 長整型Maintained(主關(guān)鍵字) 用戶名 (username) 文本 30 密碼(password)文本20 權(quán)限(popedom)長整形10 性別(sex)文本10

36、郵箱(email)文本30 表表 4.2 景區(qū)信息表景區(qū)信息表(scenic) 字段名字段類型 字段大小索引 編號(ID)自動編號10Maintained(主關(guān)鍵字) 所屬地 (address) 文本 20 所屬類型(sort)文本 30 名稱(name)文本50 描述 (description) 文本200 圖片(photo)文本50 概述(summary)文本50 錄入時間 (edittime) 日期/時間 表表 4.3 旅游問題信息表旅游問題信息表(question) 字段名字段類型 字段大小索引 編號(quesID)自動編號10Maintained(主關(guān)鍵字) 問題(question)

37、文本 100 提問者(twz)文本30 狀態(tài)(status)文本1 表表 4.4 旅游回答信息表旅游回答信息表(answer) 字段名字段類型 字段大小索引 編號(answerID)自動編號10Maintained(主關(guān)鍵字) 回答(answer)文本 100 回答者(hwz)文本30 問題編號(qID)長整形10Foreign key 表表 4.5 網(wǎng)友游記信息表網(wǎng)友游記信息表(answer) 字段名字段類型 字段大小索引 編號 (voyagesID) 自動編號 10Maintained(主關(guān)鍵字) 游記(voyages)文本 1000 發(fā)表者(fbz)文本30 概述(summary)文本1

38、00 表表 4.6 特色美食信息表特色美食信息表(delicious) 字段名字段類型 字段大小索引 編號(ID)自動編號10Maintained(主關(guān)鍵字) 名稱(name)文本 100 圖片(photo)文本50 所屬地 (address) 文本100 編入時間 (edittime) date 描述 (description) 文本1000 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 5.1 用戶登錄界面設(shè)計(jì) 用戶登錄包括:登錄賬戶,登陸密碼。 當(dāng)用戶登錄后由管理員核對該用戶的名稱和密碼是否正確,如果無誤的話用 戶可以通過檢查直接進(jìn)入網(wǎng)站的其它頁面進(jìn)行瀏覽和訂購 圖 5-1 系統(tǒng)用戶登陸界面 提交按鈕部分

39、代碼如下: package action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import pojo.User; import service.UserService; public class UserLogin extends ActionSupport private static final long serialVersionUID = L; private String username;

40、private String password; private UserService userService; public String getUsername() return username; public void setUsername(String username) this.username = username; public String getPassword() return password; public void setPassword(String password) this.password = password; public UserService

41、 getUserService() return userService; public void setUserService(UserService userService) this.userService = userService; SuppressWarnings(unchecked) public String execute() throws Exception User user = new User(); user.setUsername(username); user.setPassword(password); if(userService.isLogin(user)

42、Map session = ActionContext.getContext().getSession(); session.put(username, username); this.addActionMessage(登錄成功!); return success; else this.addActionMessage(登錄失敗!); return input; 5.2 用戶注冊界面的設(shè)計(jì) 用戶注冊包括:登錄賬戶,登錄密碼,性別,權(quán)限,電子郵件等。 注冊成功后,才可以訪問本站的其他頁面。 圖 5-2 系統(tǒng)用戶注冊界面 部分代碼如下: public String execute() throws

43、 Exception /將所有的參數(shù)組合成一個 User 對象 User user = new User(); user.setUsername(username); user.setPassword(password); user.setPasswordConfirm(passwordConfirm); user.setEmail(email); user.setSex(sex); user.setPopedom(popedom); if(userService.addUser(user) /保存成功 this.addActionMessage(添加用戶成功!); else this.add

44、ActionMessage(用戶被占用,請重新輸入用戶名); return success; 5.3 景點(diǎn)信息窗體的設(shè)計(jì) 景點(diǎn)信息查詢窗體(如圖 5-3 所示)當(dāng)打開窗體的后,可以根據(jù)景點(diǎn)所在地或 是景點(diǎn)類型進(jìn)行查詢。 圖 5-3 景點(diǎn)信息主界面 部分代碼如下: package action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import ja

45、va.util.Date; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import pojo.Scenic; import service.ScenicService; public class ScenicAdd extends ActionSupport /* * */ private static final long serialVersionUID = -L; private ScenicService scenicService; pri

46、vate String address; private String name; private String photo; private String description; private Date edittime; private String summary; private String sort; private File uploadFile;/用來封裝上傳的文件 private String uploadFileContentType;/用來封裝上傳文件的類型 private String uploadFileFileName;/用來封裝上傳文件的文件名 public

47、File getUploadFile() /獲得上傳文件 return uploadFile; public void setUploadFile(File uploadFile) /設(shè)置上傳文件 this.uploadFile = uploadFile; public String getUploadFileContentType() /獲得上傳文件類型 return uploadFileContentType; public void setUploadFileContentType(String uploadFileContentType) this.uploadFileContentT

48、ype = uploadFileContentType;/設(shè)置上傳文件類型 public String getUploadFileFileName() /獲得上傳文件名 return uploadFileFileName; public void setUploadFileFileName(String uploadFileFileName) this.uploadFileFileName = uploadFileFileName;/設(shè)置上傳文件名 public String execute() throws Exception InputStream is = new FileInputSt

49、ream(uploadFile);/文件輸入流 String uploadPath = ServletActionContext.getServletContext() .getRealPath(/upload);/ 設(shè)置上傳文件目錄 File toFile = new File(uploadPath, this.getUploadFileFileName();/ 設(shè)置目標(biāo)文 件 OutputStream os = new FileOutputStream(toFile);/ 創(chuàng)建一個輸出流 byte buffer = new byte1024;/設(shè)置緩存 int length = 0; wh

50、ile (length = is.read(buffer) 0) /讀取 myFile 文件輸出到 toFile 文件中 os.write(buffer, 0, length); is.close();/關(guān)閉輸入流 os.close();/關(guān)閉輸出流 Scenic scenic=new Scenic(); scenic.setPhoto(photo); /將所有的參數(shù)組合成一個 User 對象 scenic.getAddress(); scenic.getDescription(); scenic.getEdittime(); scenic.getName(); scenic.getPhoto

51、(); scenic.getSummary(); scenic.getSort(); if(scenicService.addScenic(scenic) /保存成功 this.addActionMessage(添加景點(diǎn)信息成功!); else this.addActionMessage(景點(diǎn)被占用,請重新輸入景點(diǎn)名); return success; public void setScenicService(ScenicService scenicService) this.scenicService = scenicService; public ScenicService getScen

52、icService() return scenicService; public void setAddress(String address) this.address = address; public String getAddress() return address; public void setName(String name) = name; public String getName() return name; public void setDescription(String description) this.description = descri

53、ption; public String getDescription() return description; public void setEdittime(Date edittime) this.edittime = edittime; public Date getEdittime() return edittime; public String getPhoto() return photo; public void setSummary(String summary) this.summary = summary; public String getSummary() retur

54、n summary; public void setSort(String sort) this.sort = sort; public String getSort() return sort; 景點(diǎn)信息添加窗體(如圖 5-4 所示)當(dāng)打開窗體的后,管理員可以對景點(diǎn)信息進(jìn)行 更新。 圖 5-4 景點(diǎn)添加主界面 5.4 特色美食信息窗體的設(shè)計(jì) 特色美食窗體打開后,可以對河南省各個地區(qū)的特色美食信息進(jìn)行瀏覽。 圖 5-5 特色美食主界面 部分代碼如下: package dao; import java.util.List; import pojo.Delicious; public interf

55、ace DeliDAO public void saveDeli(Delicious delicious);/保存信息 public List queryAll();/查詢所有信息 public Voyages queryBydeliID(int deliID);/根據(jù) ID 號查詢信息 public void deleteDeli(Delicious delicious);/刪除信息 package service; import java.util.List; import pojo.Delicious; public interface DeliService public boolea

56、n addDeli(Delicious delicious);/添加 public List findAll();/查找所有 public boolean deleteDeli(int deliID);/刪除 5.5 網(wǎng)友游記信息窗體的設(shè)計(jì) 網(wǎng)友游記窗體打開后,可以對網(wǎng)友發(fā)布的游記信息進(jìn)行瀏覽。 圖 5-6 網(wǎng)友游記主界面 部分代碼如下: package dao; import java.util.List; import pojo.Voyages; public interface VoyaDAO public void saveVoya(Voyages voyages);/保存游記信息 p

57、ublic List queryAll();/查詢所有游記信息 public Voyages queryByvoyaID(int voyaID);/根據(jù) ID 號查詢游記信息 public void deleteVoya(Voyages voyages);/刪除游記信息 package service; import java.util.List; import pojo.Voyages; public interface VoyaService public boolean addVoya(Voyages voyages);/添加游記 public List findAll();/查找所有游

58、記 public boolean deleteVoya(int voyaID);/刪除游記 5.6 旅游問答信息窗體的設(shè)計(jì)旅游問答信息窗體的設(shè)計(jì) 旅游問答窗體打開后,系統(tǒng)用戶可提出一些旅游常見的相關(guān)問題并查詢相應(yīng)回答。 圖 5-7 旅游問答主界面 部分代碼如下: package dao; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import pojo.Question; public class QuesDAOImpl extends Hibern

59、ateDaoSupport implements QuesDAO public void saveQues(Question question) /保存用戶方法 this.getHibernateTemplate().save(question); SuppressWarnings(unchecked) public Question queryByquesID(int quesID) /根據(jù)用戶名查找 List list = this.getHibernateTemplate(). find(from question where quesID = ?,quesID); if(list.si

60、ze() = 0)/判斷查詢集合是否為空 return null; else return list.get(0);/返回第一個用戶 SuppressWarnings(unchecked) public List queryAll() /根據(jù)權(quán)限查詢所有用戶 List list = this.getHibernateTemplate().find(from question); return list; public void deleteQues(Question question) /刪除用戶 this.getHibernateTemplate().delete(question); 5.

溫馨提示

  • 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

提交評論