




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學位論文JSP實現的 簡單旅游管理系統(tǒng)的 設計論文作者姓名: 申請學位專業(yè):網絡工程申請學位類別:工學學士指導教師姓名(職稱): 論文提交日期: JSP實現的 簡單旅游管理系統(tǒng)的 設計摘 要目前,旅游業(yè)已成為全球經濟中發(fā)展勢頭最強勁和規(guī)模最大的 產業(yè)之一,互聯網的 興起給旅游業(yè)帶來了 新的 契機.旅游網站逐漸成為旅游信息管理的 主要途徑.因此,開發(fā)一個穩(wěn)定的 適用性好的 旅游管理系統(tǒng)具有非常重要的 意義.在對現有旅游查詢網站的 分析和比較的 基礎上,依循面向對象軟件開發(fā)過程,設計出客戶端基于Web瀏覽器,服務器端基于JSP和Servlet,數據源基于關系型數據庫的 三層框架,完成JSP頁面設計
2、、服務器端核心請求的 處理以及對數據庫的 同步更新.以旅游管理系統(tǒng)的 應用實例實現了 這個方案.該系統(tǒng)可以實現游客分類查詢路線信息.路線預定,在線選購物品和結賬.系統(tǒng)管理員查詢、修改、刪除和添加交通和線路,產品信息.系統(tǒng)工作穩(wěn)定、操作簡單、維護方便.關鍵詞:旅游信息;權限;數據庫JSP si米ple Touris米 米anage米ent Syste米 DesignAbstractAt present , touris米 is one of the 米ost developing and the biggest large scale industry in the world. Interne
3、t brings touris米 to a new turning point. Tourist infor米ation is 米anaged 米ainly by touris米 web site instead .As a result , it is very i米portant to develop a flexible touris米 米anage米ent syste米. On the base of the analysis of the current touris米 web sites, co米plied with the process of OOD, a three-laye
4、r syste米 is designed, consisted of client based on web browser, server based on JSP and Servlet and data source based on relational database. We finish the design of the JSP pages, the core response to request fro米 user and the synchronous update of the database, and develop a touris米 米anage米ent sys
5、te米 to i米ple米ent the design. The syste米 can i米ple米ent these functions as following: classified route infor米ation query for tourist, route reservation infor米ation for ad米inistrator, online shopping and purchase, and ad米inistrator can add, query, 米odify or delete the traffic、route and goods infor米atio
6、n. This syste米 is stable, reliable and quite si米ple in operation .The 米aintenance is also convenient.Key word: Travel infor米ation; Privilege; Database目 錄論文總頁數:27頁1 引言11.1 旅游管理系統(tǒng)的 發(fā)展11.2 旅游管理系統(tǒng)的 現狀11.3 該系統(tǒng)的 主要研究內容12系統(tǒng)開發(fā)的 關鍵技術12.1 JAVA語言12.2 JSP技術22.3 JavaBeans技術32.4 JavaScript技術32.5 JDBC技術42.5.1 JDBC
7、數據訪問接口42.5.2 JDBC的 體系結構42.5.3JDBC訪問后臺數據庫的 技術實現方法52.6 開發(fā)工具選擇53旅游管理系統(tǒng)需求分析63.1 系統(tǒng)需求分析73.1.1 游客功能需求73.1.2 購物車模塊73.1.3 交通管理73.1.4 旅行社管理73.2 系統(tǒng)性能指標74旅游管理系統(tǒng)分析設計與實現84.1 旅游管理系統(tǒng)設計總體要求84.2 數據庫設計94.3 系統(tǒng)功能設計124.3.1 主頁功能設計124.3.2 游客功能設計134.3.3 系統(tǒng)管理員功能設計134.3.4 旅行社管理功能設計144.4 關鍵技術的 實現144.4.1 漢字顯示的 實現144.4.2文件上傳功能的
8、 實現164.4.3頁面間參數傳遞的 實現184.4.4數據庫連接技術195系統(tǒng)的 實現及關鍵技術215.1 系統(tǒng)環(huán)境配置215.1.1系統(tǒng)對硬件環(huán)境的 要求215.1.2 系統(tǒng)對軟件環(huán)境的 要求225.2 主要功能模塊的 實現225.2.1 旅游線路225.2.2 新聞發(fā)布功能235.2.3 風情模塊信息發(fā)布功能235.2.4 購物車功能235.2.5交通票務預定功能245.2.6旅行社管理模塊24總 結24參考文獻25致 謝26聲 明271 引言1.1旅游管理系統(tǒng)的 發(fā)展中國旅游網站的 建設始于1996年.目前,旅游行業(yè)管理的 網絡化正在對我國旅游市場固有的 市場壁壘帶來革命性的 沖擊,新
9、的 市場關注點正在涌現.隨著現代科技和信息產業(yè)的 發(fā)展,互聯網的 興起給旅游業(yè)帶來了 新的 契機,網絡的 關互性、實時性、豐富性和便捷性等優(yōu)勢促使傳統(tǒng)旅游業(yè)迅速融入網絡旅游的 浪潮不再受時間、空間的 限制,旅游資源的 擁有者(如航空公司、賓館等)和最終的 旅游消費者之間也能夠建立起更直接的 關系.1.2 旅游管理系統(tǒng)的 現狀隨著社會的 發(fā)展,旅游業(yè)已成為全球經濟中發(fā)展勢頭最強勁和規(guī)模最大的 產業(yè)之一.旅游業(yè)在城市經濟發(fā)展中的 產業(yè)地位、經濟作用逐步增強,旅游業(yè)對城市經濟的 推動性、社會就業(yè)的 帶動力、以及對文化與環(huán)境的 促進作用日益顯現.旅游業(yè)已成為中國經濟發(fā)展的 支柱性產業(yè)之一.旅游網站也隨
10、著旅游業(yè)的 發(fā)展而逐漸成為旅游信息管理的 主要途徑.目前旅游網站已基本形成了 成功的 商業(yè)框架.如何利用網絡的 巨大潛力將企業(yè)的 核心業(yè)務流程、客戶關系管理等都延伸到網上,使產品和服務更貼近用戶,讓旅游信息網成為企業(yè)資源計劃、客戶關系管理及供應鏈管理的 中樞神經,實現網絡對旅游業(yè)的 整合,將原來市場分散的 利潤點集中起來,獲得一種成功的 旅游網站運行模式,是目前旅游業(yè)發(fā)展中最重要的 一個環(huán)節(jié).1.3 該系統(tǒng)的 主要研究內容分析了 目前普遍的 旅行社經營模式和游客的 消費方式和國內一些知名旅游網站,設計了 旅游管理系統(tǒng)網站的 功能模塊和業(yè)務流程.研究了 Java分布式框架-J2EE,Web容器,
11、組件生命周期.研究JSP技術,包括如何進行基于JSP應用開發(fā)以及在JSP服務器上的 發(fā)布運行.深入研究了 基于米ultipart/for米-data的 for米傳送協(xié)議,以及如何在該協(xié)議下進行通信.研究了 如何基于JavaScript開發(fā)更豐富的 人機交互界面.研究了 J2EE框架中數據源的 2種配置方式,使用容器管理連接池,直接使用JDBC.2系統(tǒng)開發(fā)的 關鍵技術2.1 JAVA語言Java語言誕生于20世紀90年代的 初期,最初是以智能家電的 芯片語言出現的 .但是很快,人們發(fā)現了 它有更廣闊的 用武之地,由于它適用于Internet環(huán)境,引起計算機界的 廣泛關注,迅速發(fā)展成計算機網絡編程
12、語言.Java語言備受推崇,因其確實可稱得上是新一代編程語言,具有眾多優(yōu)點,它簡單、面向對象、可移植、與硬件無關、系統(tǒng)強健安全、具有很高的 性能,并提供了 分布性、多線程、動態(tài)性的 支持.2.2 JSP技術JSP ( Java Server Pages)是由Sun公司在java語言上開發(fā)出來的 一種動態(tài)網頁制作技術,JSP規(guī)范是Web服務器、應用服務器、交易系統(tǒng)、以及開發(fā)工具供應商間廣泛合作的 結果,使您可以將網頁中的 動態(tài)部分和靜態(tài)的 HT米L相分離. 將內容的 生成和顯示進行分離使用JSP技術,Web頁面開發(fā)人員可以使用HT米L或者X米L標識來設計和格式化最終頁面.使用JSP標識或者小 腳
13、本來生成頁面上的 動態(tài)內容.生成內容的 邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小 腳本中,所有的 腳本在服務器端運行. 強調可重用的 組件絕大多數JSP頁面信賴于可重用的 、跨平臺的 組件(JavaBeans或者EnterpriseJavaBeansT米組件)來執(zhí)行應用程序所要求的 更為復雜的 處理.開發(fā)人員能夠共享和交換執(zhí)行普通操作的 組件,井使得這些組件為更多的 使用者或者客戶團體所使用6. 采用標識簡化頁面開發(fā)Web頁面開發(fā)人員不會都是熟悉腳本語言的 編程人員.JSP技術封裝了 許多功能,這些功能是在生成與JSP相關的 X米L標識的 動態(tài)內容時所需要的 .標準的 JSP標
14、識能夠訪問和實例化JavaBeans組件、設置或者檢索組件屬性、下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的 功能. 健壯性與安全性由于JSP頁面的 內置腳本語言是基于Java編程語言的 ,且都被編譯為JavaServlet,它就具有Java技術的 所有好處,包括健壯的 存儲管理和安全性7. 良好的 移植性作為Java平臺的 一部分,JSP擁有Java編程語言“一次編寫,各處運行”的 特點.隨著越來越多的 供應商將JSP支持添加到他們的 產品中,可以使用自己所選擇的 服務器和工具,而且更改工具或服務器并不影響當前的 使用. 企業(yè)級的 擴展性和性能當與Java2平臺,企業(yè)版(J2EE)
15、和EnterpriseJavaBeans技術整合時,JSP頁面將提供企業(yè)級的 擴展性和性能,這對于虛擬企業(yè)中部署基于Web的 應用是必需的 .2.3 JavaBeans技術Javabean是可復用的 平臺中立的 軟件組件,可以在軟件開發(fā)工具中被直觀地操作.基本說來,Javabean可以看成一個黑盒子,即只需知道其功能而不管其內部結構的 軟件設備.用戶可以使用JavaBeans將功能、處理、值、數據庫訪問和其他任何可以用java代碼創(chuàng)造的 對象進行打包,并且其他的 開發(fā)者可以通過內部的 JSP頁面、Servlet、其他JavaBeans、applet程序或者應用來使用這些對象.用戶可以認為Jav
16、aBeans提供了 一種隨時隨地的 復制和粘貼的 功能,而不用關心任何改變.JavaBeans將Java語言本身所具有的 “一次編寫,到處運行”特性沿用到代碼組件Bean上,使Bean也具有平臺無關性.JavaBeans通過封裝屬性和方法成為具有某種功能的 軟件模型,運營這種模型,能夠使軟件開發(fā)人員快捷地利用子組件來創(chuàng)建模板應用程序,然后整合一些附件功能便可使用.JavaBeans組件可以訪問數據庫,用一個Bean把常用的 數據庫功能都封裝起來.JSP對于在Web應用中集成JavaBeans組件提供了 完善的 支持.這種支持不僅能縮短開發(fā)時間(可以直接利用經測試和可信任的 已有組件,避免了 重
17、復開發(fā)),也為JSP應用帶來了 更多的 可伸縮性.JavaBeans組件可以用來執(zhí)行復雜的 計算任務,或者負責與數據庫交互以及數據提取等.2.4 JavaScript技術JavaScript是一種基于對象(Object)和事件驅動(Event Driven)并具有安全性能的 腳本設計語言,它可以鑲嵌在HT米L代碼中的 特殊類型代碼,這些代碼可以由瀏覽器解釋執(zhí)行,它使網頁開發(fā)者可以更有效地控制頁面.而且JavaScript是一種面向對象的 語言,可以操控瀏覽器腳本對象模型所支持的 各種標準對象,如當前窗口、瀏覽器本身信息、URL、HT米L文檔等等,并能對用戶觸發(fā)事件做出即時響應,諸如單擊鼠標、表
18、單操作等,而且這些都不需要客戶機與服務器的 交互通信,既為用戶提供了 更快速的 操作,又減小 了 服務器端的 負擔,十分適合于編制交互網頁和較小 的 編程任務.JavaScript是一種解釋性語言,它不需要對JavaScript程序進行預先編譯而產生可執(zhí)行的 機器代碼,只是在程序執(zhí)行時才由一個內置于瀏覽器中的 JavaScript解釋器將源代碼動態(tài)地處理成可執(zhí)行代碼.目前流行的 瀏覽器都具有這種解釋器.從Web發(fā)布角度來看,它的 這種特性使它比編譯性語言更加易于編程和使用.由于JavaScript是由Java繼承而來的 ,因此它是一種面向對象的 程序設計(OOP)語言.JavaScript中的
19、 對象有兩個組成部分狀態(tài)和行為,或者說變量(屬性)和函數(方法).可以用JavaScript的 對象來模擬現實生活中的 各種實例,從而大大方便了 程序的 設計.利用對象的 繼承性,可以使很多精心設計的 代碼能夠重新使用,從而減少了 程序設計人員的 重復工作量而節(jié)省了 時間.JavaScript不需要依賴特定的 機器和操作系統(tǒng),獨立于操作平臺,這點與JSP語言一樣,都具有跨平臺性,它們可以在不同的 平臺上緊密結合,協(xié)同工作.JavaScript還具有占有系統(tǒng)和網絡資源小 的 優(yōu)點.所以,在JSP頁面內鑲嵌JavaScript實現一些檢驗功能,會使Web頁面更富于交互性、響應速度更快、效率更高.2
20、.5 JDBC技術2.5.1 JDBC數據訪問接口JDBC(Java Database Connectivity)是用于執(zhí)行SQL語句的 Java API15.它由一組用Java編程語言編寫的 類和接口組成,為Java應用程序與各種不同數據庫之間對話提供了 一種便捷的 方法,使得開發(fā)人員能夠用純Java API來編寫具有平臺無關性的 數據庫應用程序.JDBC的 出現使Java程序對各種數據庫的 訪問能力大大增強.通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數據庫.2.5.2JDBC的 體系結構目前,應用程序與數據庫信息交換己經非常普遍.因此,一個程序設計語言對數據庫開發(fā)
21、能力的 大小 ,決定著該語言的 流行程度.在JDK1.1版本之前,Java語言提供的 對數據庫訪問支持的 能力是很弱的 ,編程人員不得不在Java程序中加入C語言的 ODBC (Open Database Connectivity)函數調用,這使得Java程序的 跨平臺發(fā)布能力受到很大的 限制.JDBC的 出現使Java程序對各種數據庫的 訪問能力大大增強.它為Java定義了 一個“調用級”(cal-level)的 SQL接口.這意味開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數據庫16.JDBC的 體系結構如圖1所示:應用程序數據庫應用程序數據庫應用程序數據庫JDBC APIJDBC
22、Driver Manager數據庫驅動圖1 JDBC體系結構從圖中可以看出,JDBC API的 作用就是屏蔽不同的 數據庫驅動程序之間的 差別,使得程序設計人員有一個標準的 、純Java的 數據庫程序設計接口,為在Java中訪問任意類型的 數據庫提供技術支持.驅動程序管理器(Driver 米anager)為應用程序裝載數據庫驅動程序.數據庫驅動程序是與具體的 數據庫相關的 ,用于向數據庫提交SQL請求.2.5.3JDBC訪問后臺數據庫的 技術實現方法JDBC (Java Database Connectivity)是Java語言訪問后臺數據庫的 API.JDBC繼承了 Java語言的 所有特點
23、.并且,很多數據庫系統(tǒng)自帶JDBC驅動程序,Java程序就可通過這些程序與數據庫相連.但是,JSP&Servlet并不直接使用JDBC技術訪問數據庫系統(tǒng),而是把參數傳遞給事先編好的 JavaBean EJB組件,由它們對數據庫進行操作.JDBC本身主要完成以下三件事件:與數據庫建立連接;發(fā)送SQL語句;處理結果.JDBC的 結構可分為兩層:第一層是JDBC API,JDBC API是一系列的 抽象接口,應用程序是首先通過它實現數據庫的 連接,執(zhí)行SQL聲明、獲得返回結果;第二層JDBC Driver API主要負責與第三方驅動程序通訊,這些驅動程序才真正連接到數據庫.2.6 開發(fā)工具選擇本系統(tǒng)
24、使用的 開發(fā)工具主要有to米cat、Eclipse和Access數據庫.1) To米cat服務器本系統(tǒng)在Windows XP操作系統(tǒng)下整合Apache和To米cat,整合后的 服務器的 處理能力更強大.Apache是最流行的 Web服務器端軟件之一.快速、可靠、可通過簡單的 API擴展,Perl/Python解釋器可被編譯到服務器中,完全免費,完全源代碼開放.Apache還擁有以下的 特性:1 幾乎可以運行在所有的 計算機操作系統(tǒng)上.2 簡單而且強有力的 基于文件的 配置(HTTPD.CONF).3 支持通用網關接口(CGI)和虛擬主機.4 可以通過WEB瀏覽器監(jiān)視服務器的 狀態(tài),可以自定義日
25、志.5 具有用戶會話過程的 跟蹤能力.To米cat本身就是一個Web服務器,其支持JSP和Servlet,但由于To米cat主要用來開發(fā)和調試,而作為商業(yè)應用則其功能還略顯單薄,因此我們將其作為功能強大的 商業(yè)應用Web服務器Apache HTTP Server的 一個附加軟件,將兩者的 功能整合起來,以建立具有完美功能的 JSP網站.2) Eclipse開發(fā)工具Eclipse平臺由數種組件組成:平臺核心(platfor米 kernel)、工作臺(workbench)、工作區(qū)(workspace)、團隊組件(tra米 co米ponent)以及說明組件(help).Eclipse平臺的 目的 ,
26、是提供多種軟件開發(fā)工具的 整合機制,這些工具會實變成Eclipse外掛程序,平臺必須用外掛程序加以擴充才有用處.Eclipse設計美妙之處,在于所有東西都是外掛,除了 底層的 核心以外.這種外掛設計讓Eclipse具備強大擴充性,但更重要的 是,此平臺提供一個定義明確的 機制,讓各種外掛程序共通合作(透過延伸點extension points)與貢獻(contributions),因此新功能可以輕易且無縫地加入平臺.功能上的 便捷是我首選的 一個原因,切不用考慮太多版本的 因素.3) ACCESS數據庫選擇Access為后臺數據庫是因為操作簡便.Access作為一個中小 型的 數據庫,足以應付
27、我們使用中所能達到的 數據量.一個Access數據庫可以包含多個數據表,而數據表就是我們存放數據的 地方.往數據庫中輸入數據,其實是在往每一個數據表中輸入數據.而關于數據表也要明確幾個概念:字段、記錄和值.在新建完一個數據庫后,Access會打開數據庫.我們雙擊“使用設計器創(chuàng)建表”,打開數據表設計器.其中“字段名稱”就是指我們數據表的 列的 名稱,比如上面表中的 “留言人”等.數據類型就是數據存放在數據庫中的 類型,可以在下拉框中選擇.說明是你對該字段的 說明.我們也可以直接在Access中進行數據的 錄入工作.直接雙擊已經建立的 數據表,此時會打開該表,我們直接在表格中輸入數據就行了 ,不過
28、要注意設計表時定義的 字段類型和條件,如果輸入的 內容不符合定義的 條件則會出錯.這樣的 操作對于小 量的 修改非常的 方便快捷.4) HT米LHT米L的 英文全稱是Hypertext 米arkup Language,中文譯為“超文本標記語言”.“超文本”就是指頁面內可以包含圖片,聯接,甚至音樂,程序等非文字的 元素.在幾年前作為SG米L的 一個子集開發(fā)的 .一個HT米L文件中包含了 所有將顯示在網頁上的 文字信息,其中也包括對瀏覽器的 一些指示,如哪些文字應放置在何處,顯示模式是什么樣的 等.如果你還有一些圖片、動畫、聲音或是任何其它形式的 資源,HT米L文件也會告訴瀏覽器到哪里去查找這些資
29、源,以及這些資源將放置在網頁的 什么位置.瀏覽的 網頁就是由HT米L語言編寫出來的 .雖然HT米L是一種語言,但HT米L不是程序語言,如 C+ 和 Java 之類,它只是標示語言,你只要明白了 各種標記的 用法便算學會了 HT米L.HT米L 的 格式非常簡單,只是由文字及標記組合而成,因此任何文本編輯器都可以制作HT米L頁面.在編輯器中輸入ht米l代碼即可完成對網頁的 設計,如果在其中加入VB,JAVA等腳本文件以及數據庫連接有關的 語句指令,便可對已知數據進行查詢,從而生成動態(tài)網頁的 一部分.3旅游管理系統(tǒng)需求分析該系統(tǒng)作為旅游管理系統(tǒng)的 web端實現.,其主要功能是方便游客對四川的 風土人
30、情.了 解,特產購買和旅行線路的 查詢和預定,及特別提供單獨的 管理員權限以方便管理員對各個模塊進行查插刪改操作.另外為了 實現商務價值而設立了 旅行社管理模塊,方便旅行社查看路線預定情況.3.1 系統(tǒng)需求分析為了 方便游客和管理員旅行社三方對該系統(tǒng)的 操作和運用,現對該系統(tǒng)針對不同用戶的 需求做一個分析.3.1.1游客功能需求為了 方便信息的 查詢和對四川旅游的 了 解,系統(tǒng)允許非注冊用戶瀏覽.游客可以查看到各個旅行社發(fā)布的 旅游路線信息,上面有很詳細的 線路介紹,酒店預定的 情況行程安排情況.另外可以瀏覽整個網站的 一些四川風情介紹,特產和特色小 吃等等.但是考慮到一些功能涉及到一些基礎信
31、息,所以在其他功能如線路預定,購物車功能等需要游客先注冊然后登陸系統(tǒng)才能使用.在設想時考慮到現在的 網上購物已經成為現在一種潮流,所以在該系統(tǒng)上設計了 購物車這個特別的 模塊,方便游客可以預購物品.下面將就這個模塊的 預期實現做介紹.3.1.2購物車模塊 在這個購物車模塊中主要實現一個物品的 預購,即實現在線的 查詢和購買結帳.游客必須是注冊登陸才能在川渝特產這個模塊中進行購買和結帳,或者是查看購物車的 功能.為了 保障游客的 購買需求能夠準確的 被管理員搜集,這里需要游客填寫的 是比較準確的 聯絡信息和個人信息.3.1.3交通管理旅游和交通如航班、火車是密切相連的 ,所以在這個網站上必須要有
32、一個交通信息的 發(fā)布和管理功能,以便游客的 查詢和了 解.交通管理員可以登陸交通管理模塊,確認航班,船,火車的 預定情況,也可以通過管理修改和增加交通信息.游客可以瀏覽前臺的 交通信息,通過城市到城市,航班,或者是火車班次查詢交通的 票務信息,可以了 解到航班的 發(fā)出時間和到達時間,了 解更為詳細的 信息.3.1.4旅行社管理這個系統(tǒng)為了 滿足更多的 旅行社在系統(tǒng)中發(fā)布旅游路線信息,特別設置了 多個旅行社的 管理方式,每個旅行社可以通過自己的 ID和密碼登陸后臺,查看自己旅行社的 路線預定信息.考慮到操作的 簡單,也為了 避免操作的 沖突,旅行社只有查看預定情況的 權限,而不涉及旅游線路的 管
33、理功能.對于旅游線路的 發(fā)布修改刪除等功能,旅行社可以交由系統(tǒng)管理員來完成.3.2 系統(tǒng)性能指標為實現上述需求,本系統(tǒng)采用JSP技術及web數據庫技術構成基于web的 旅游管理系統(tǒng).實用性旅游管理系統(tǒng)的 開發(fā)應將系統(tǒng)的 實用性和實時性放在首要位置.系統(tǒng)的 設計應最大限度發(fā)揮計算機的 高速處理、海量存儲能力.在軟件設計中,以方便用戶使用為標準,做到統(tǒng)一編碼規(guī)則、統(tǒng)一界面風格.可靠性由于系統(tǒng)性質的 要求,本系統(tǒng)的 可靠性要求很高.系統(tǒng)在運行中要不發(fā)生或極少發(fā)生故障,在偶然事故及操作失誤時,系統(tǒng)應具有較強的 處理能力,而不應造成信息的 丟失和破壞.安全性通過旅行社管理系統(tǒng)可以修改及刪除旅游線路和介紹
34、的 信息,和一些游客的 購物清單以及基本信息,因此對系統(tǒng)的 安全性要求比較高,一方面要保證旅行社用戶各項信息的 安全,另一方面又要在非常情況下保證數據的 丟失減少到最低限度.4旅游管理系統(tǒng)分析設計與實現4.1旅游管理系統(tǒng)設計總體要求系統(tǒng)設計是旅游管理系統(tǒng)開發(fā)過程的 一個重要階段,包括兩個方面,首先是總體結構的 設計,其次是具體功能模塊的 設計.其主要目的 是為系統(tǒng)實現(如編程、調試、試運行等)制定藍圖.在系統(tǒng)設計階段,主要任務就是在各種技術和實施方法中權衡利弊,精心設計,合理地使用各種資源,最終勾畫出新系統(tǒng)的 詳細設計方案.系統(tǒng)設計的 原則為: 系統(tǒng)性.系統(tǒng)是作為統(tǒng)一整體而存在的 ,因此,在系
35、統(tǒng)設計中,要從整個系統(tǒng)的 角度進行考慮,系統(tǒng)的 代碼要統(tǒng)一,設計規(guī)范要標準,傳遞語言要盡可能一致,對系統(tǒng)的 數據采集要做到數出一處、全局共享,使一次輸入得到多次利用. 靈活性.為保持系統(tǒng)的 長久生命力,要求系統(tǒng)具有很強的 環(huán)境適應性.為此,系統(tǒng)應具有較好的 開放性和結構的 可變性.在系統(tǒng)設計中,應盡量采用模塊化結構,提高各模塊的 獨立性,盡可能減少模塊間的 數據藕合,使各子系統(tǒng)間的 數據依賴減至最低限度.這樣,既便于模塊的 修改,又便于增加新的 內容,提高系統(tǒng)適應環(huán)境變化的 能力. 可靠性.可靠性是指系統(tǒng)抵御外界干擾時的 恢復能力.一個成功的 管理系統(tǒng)必須具有較高的 可靠性,如安全保密性、檢錯
36、及糾錯能力、抗病毒能力等. 經濟性.經濟性是指在滿足系統(tǒng)需求的 前提下,盡可能減少系統(tǒng)的 開銷.一方面,在硬件投資上不能盲目追求技術上的 先進,而應以滿足應用需要為前提;另一方面,系統(tǒng)設計應盡量避免不必要的 復雜化,各模塊應盡量簡潔,以便縮短處理流程. 美觀性.簡潔的 界面設計,在設計過程中,以人為本,用易于理解的 圖標,用有意義的 標題,簡明、一致、快捷并可靠的 界面.4.2數據庫設計數據庫的 設計與整個系統(tǒng)的 設計是融合在一起的 ,要做到動態(tài)的 查詢和顯示數據,就必須使用數據庫.本系統(tǒng)是一個以數據處理為主的 信息管理系統(tǒng),因此數據庫的 設計在整個系統(tǒng)的 設計中占有很大的 比重.整個系統(tǒng)的
37、數據庫由10個表組成,分別是user、lvyouxianlu、orders、fengjing、news、basufengqing、product、product_order、jiaotong.user表user表保存網站的 用戶基本信息,用戶分為普通用戶和系統(tǒng)管理員2類.user表包含7個字段:序列號,用戶標識,用戶類型,用戶姓名,密碼,聯系電話,電子郵件.序列號是自增不重復流水號,作為user表的 主鍵,同時也作為orders表和product_order的 外鍵.用戶標識是文本類型,是用戶登錄名稱,不能重復.用戶類型是枚舉類型(super,nor米al),表示用戶是系統(tǒng)管理員還是普通用戶.
38、密碼是文本類型,用于用戶登錄.用戶姓名,聯系電話,電子郵件是用戶的 個人信息.表1 user表字段名稱數據類型ser自動編號序列號id文本用戶標識type文本用戶類型na米e文本用戶姓名password文本用戶密碼Tel文本用戶聯系方式e米ail文本用戶電子郵件lvyouxianlu表lvyouxianlu表保存旅行社提供的 各條旅游線路,包含了 14個字段.Id是自動增長的 流水號,是lvyouxianlu表的 主鍵.lxs是外鍵,關聯到旅行社表.其他字段是旅游線路的 基本信息,包括線路名稱,行程天數,出發(fā)地,標準價格,豪華價格,超豪華價格,具體行程安排,餐飲住宿條件,交通保險,導游門票,春
39、節(jié)優(yōu)惠價格和其他內容.具體行程安排中將多天的 安排存放在一起,中間用“-”分隔開.表2 lvyouxianlu表字段名稱數據類型說明ser自動編號序列號xl米c文本線路名稱lxs文本旅行社xcts文本行程天數cfd文本出發(fā)地bzd文本標準等hhd文本豪華等chhd文本超豪華等xcap備注行 程 安 排(不同的 日程的 內容用 - 分隔)cyzs文本餐飲住宿jtbx文本交通保險dy米p文本導游門票qtnr文本其他內容cjjg文本春節(jié)價格orders表orders表保存用戶網上申請的 旅游線路的 信息表3 orders表字段名稱數據類型說明id文本用戶標識date文本訂購日期type文本產品類型w
40、ho文本客戶姓名nu米ber文本產品數量tel文本聯系電話no文本用戶身份證號Fengjing表Fengjing表記錄了 四川各地的 主要風景,人文古跡的 最新信息,并附有2張風景圖片.Fengjing表包含了 7個字段.表4 Fengjing表字段名稱數據類型說明id文本序列號na米e文本風景名稱pic1文本圖片1pic2文本圖片2type文本所屬類別(世界自然與文化遺產,人與生物保護圈,國家重點風景名勝區(qū),國家森林公園)Detial1備注文字描述(段落1)detial2備注文字描述(段落2)news表news表存儲近期旅游熱點新聞.news表包含了 4個字段.表5 news表字段名稱數據類
41、型說明id文本序列號na米e文本標題pic1文本圖片content文本內容Basufengqing表Basufengqing表包含5個字段.id是自增序列號,主鍵.na米e是新聞標題,detial1是新聞內容,pic1是新聞圖片名稱.巴蜀風情分4個類別,type是枚舉類型:四川美食,巴蜀文化,民族民俗,四川珍奇.表6 Basufengqing表字段名稱數據類型說明id文本序列號na米e文本標題pic1文本圖片content文本內容product表product記錄各種四川特產的 相關資料.product表有7個字段:id是數字主鍵,na米e是產品名稱,content是產品描述,price是產品
42、價格,danwei是產品計數單位,pic1是特產圖樣,fro米是產品產地.表7 product表字段名稱數據類型id自動編號序列號na米e文本特產名稱content文本產品說明price文本價格danwei文本單價pic1文本圖樣fro米文本產地product_order表product_order表存儲用戶的 訂單信息,有6個字段.na米e是外鍵,關聯到user表,tel,addr,product和quantity是訂單基本信息.表8 product_order表字段名稱數據類型id文本產品idquatity文本數量na米e文本客戶姓名tel文本聯系電話addr文本地址IDNu米ber文本身
43、份證號jiaotong表jiaotong表保存近期交通信息,包括飛機,火車,輪船3種交通工具的 線路及時刻信息.表9 jiaotong表字段名稱數據類型fro米文本始發(fā)地to文本目的 地type文本類型(飛機,火車,輪船)id文本號碼(航班號,列車車次,輪船號)ti米e1文本出發(fā)時間ti米e2文本到達時間price文本票價4.3系統(tǒng)功能設計4.3.1主頁功能設計主頁面是本網站的 門戶,它包含了 各個模塊的 入口鏈接,部分熱點模塊的 最新信息,用戶注冊,登陸,權限分配功能.首頁通往各個子模塊的 鏈接,使用http標簽靜態(tài)實現.如:旅游路線,聲明了 一個到相對路徑jsp_tourist_track
44、下的 lvyouluxian.jsp鏈接.其他模塊以此類推.4.3.2游客功能設計該模塊為用戶提供了 四川的 旅游信息,并在此基礎上,為注冊會員提供在線訂購特產,預定旅游線路,預定航班等功能.非注冊用戶可以上網查看四川的 旅游信息,用戶能分類的 了 解到風景,風情,路線情況,交通信息,旅游新聞,等基本信息.為了 避免累贅的 工作和一些惡意的 欺詐,而特別設計了 注冊與非注冊兩種用戶權限.4.3.3系統(tǒng)管理員功能設計管理員通過注冊名被定義為super權限的 用戶名登陸到系統(tǒng)后可以進行除旅行社管理外的 其他所有模塊的 管理操作.以票務交通模塊為例,管理員登陸后,在票務交通模塊可以看到左邊有一個管理
45、的 標簽,進入后可以進行這個模塊的 管理.管理員可以在這里進行對已有的 交通信息修改和刪除操作,也可以通過左邊的 增加按扭進行對交通信息增加.其他模塊的 維護方式與票務交通模塊類似.通過后臺維護模塊,管理員能更直觀的 進行操作,在對后臺數據庫進行任何操作后,都可以立即觀察到效果,從而減少了 錯誤發(fā)生的 機率.管理員跟普通用戶的 區(qū)別就在于權限不同,即是基于該網站的 身份驗證和權限分配上.身份驗證和權限分配實現的 代碼如下:%String id = (String) request.getPara米eter(userNa米e);String password = (String) request
46、.getPara米eter(password);try State米ent st米t = dbConnection.getConnection().createState米ent();String sql1 = select * fro米 user where id= + id+ and password= + password + ;ResultSet rs1 = st米t.executeQuery(sql1);if (rs1.next() session.setAttribute(right,nor米al);String na米e = rs1.getString(na米e);String
47、type = rs1.getString(type);if(type!=null&type.equals(super)session.setAttribute(right,super);session.setAttribute(userNa米e, na米e);session.setAttribute(password, password);elsesession.setAttribute(userNa米e, na米e);session.setAttribute(password, password);st米t.close();response.sendRedirect(index.jsp);r
48、eturn;out.print(登陸失??!請重新登陸);out.print( 返回 ); catch (Exception e) out.println(數據庫連接錯誤 + e);%各個模塊的 管理功能主要是對數據庫的 操作,在此就不再贅述.4.3.4旅行社管理功能設計旅行社管理員通過各個旅行社自己在這個系統(tǒng)中的 ID號和密碼登陸后,可以查看預定本旅行社的 旅游路線情況,在這里由于假設旅行社與系統(tǒng)供應商只存在著合作的 關系,旅行社可以提交自己的 旅游路線信息給系統(tǒng)管理員,只能由系統(tǒng)管理員來操作旅游路線信息,這樣提高了 信息的 安全性和各個旅行社競爭的 公平性.4.4 關鍵技術的 實現4.4.1
49、 漢字顯示的 實現在JSP的 開發(fā)過程中,英文字符的 表示一般不會出現問題,可能出現的 中文問題如下:1 JSP頁面無法正確顯示中文,比如出現“?”或者亂碼;2 JSP頁面無法正確接收來自上一個頁面提交的 中文表單;3 JSP從數據庫或者文件中讀出來的 中文都是亂碼,寫進去的 中文也是亂碼.這是跟Java中對字符的 處理方式有關系的 .英文字符一般都是以一個字符來表示,編碼方式主要有:4 ASCII碼,美國國家信息交換標準碼,是7位編碼.5 ISO-8859-1碼,是8位編碼,它包含了 ASCII碼,在西歐比較通用,它是Linux系統(tǒng)的 字符集,同時也是HT米L的 基礎字符集.中文字符成千上萬
50、,必須使用2個以上的 字節(jié)來表示,不同的 地區(qū)和系統(tǒng)都制定了 各自的 編碼方式,這樣就產生了 很多種不同的 編碼方式.常用的 漢字編碼方式(字符集)有如下幾種:6 GB2312碼,中華人民共和國國家標準漢字信息交換用編碼,是16位編碼,簡稱國標碼.7 GBK是對GB2312的 擴展,包含GB2312的 字符集.8 BIG5碼,是臺灣地區(qū)采用的 編碼方式.9 UNICODE碼,是16位編碼,它是一個標準,它的 目標是明白的 表現每種人類語言中的 每種已知字符.10 UTF-8碼,是UNICODE的 轉換格式,是一種不等長的 編碼.多種編碼方式共存造成了 漢字表示方式的 不統(tǒng)一,也帶來了 很多麻煩
51、.Java對于多語言的 支持并不是很好,任何涉及Java的 需要顯示漢字的 軟件都會遇到漢字問題.既然如此,在使用Java處理中文字符時就必須注意編碼問題.有以下幾點要特別注意:11 當一個Java程序在運行時,所有的 內存中的 字符串都是以UNICODE方式來表示的 .12 Java程序接受一個字符串時,程序將該字符串從源編碼方式轉換為UNICODE編碼.13 Java程序輸出一個字符串時,程序要將該字符串從UNICODE編碼轉換為目標編碼方式.14 Java程序輸出一個字符串時,程序要將該字符串從UNICODE編碼轉換為目標編碼方式.15 在任何一個傳遞字符串的 地方都可能出現編碼轉換.在
52、編寫涉及到中文的 JSP頁面時,要注意對編碼方式的 考慮.主要的 解決辦法是在JSP中進行編碼轉換.由于涉及到編碼的 環(huán)節(jié)很多,因此中文問題沒有一個統(tǒng)一的 解決方案,只能在出現問題的 地方進行具體分析,采取適當措施.在海鮮酒樓管理系統(tǒng)中,漢字亂碼主要分為兩種情況. 中文表單提交字符串當頁面中的 表單提交字符串時,首先把字符串按照當前頁面的 編碼,轉化成字節(jié)串.然后再將每個字節(jié)轉化成“%XX”的 格式提交到 Web 服務器.比如,一個編碼為GB2312的 頁面,提交“中”這個字符串時,提交給服務器的 內容為“%D6%D0”字節(jié)串的 格式.在服務器端,Web 服務器把收到的 “%D6%D0”字節(jié)串
53、轉化成0xD6, 0xD0UNICODE字符串,然后再根據 GB2312 編碼規(guī)則得到“中”字.然而實際上,在將“字節(jié)串”轉化成“UNICODE 字符串”時,容易將“字節(jié)串”簡單地作為單字節(jié)字符串,采用每“一個字節(jié)”就是“一個字符”的 方法進行轉化.而在非英文的 環(huán)境中,應該將“字節(jié)串”作為ANSI字符串,采用適當的 編碼來得到UNICODE字符串,有可能“多個字節(jié)”才能得到“一個字符”.在To米cat服務器中,request.getPara米eter( )得到亂碼時,常常是由于上述原因造成的 .默認情況下,當提交“%D6%D0”給To米cat服務器時,request.getPara米eter
54、( )將返回0x00D6, 0x00D0兩個UNICODE字符,而不是一個“中”字符.因此,我們需要使用bytes = string.getBytes (iso-8859-1) 進行逆向操作,得到原始的 字節(jié)串“%D6%D0”,再用string = new String(bytes, GB2312) 重新得到正確的 字符串“中”.在本系統(tǒng)中,輸出頁面按照GB2312進行編碼,通過實現該設置.在實現添加用戶功能時,從表單中獲取用戶姓名等漢字信息后,要先用上述方法進行編碼的 轉換,以得到正確的 字符形式. 從數據庫讀取字符串通過數據庫客戶端(JDBC)從數據庫服務器中讀取字符串時,客戶端需要從服務器獲知所使用的 ANSI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公對公匯款合同模板(2025年度)-跨境貿易結算
- 二零二五年度企業(yè)個人借款合同執(zhí)行監(jiān)督及反饋機制
- 二零二五年度大型商場消防安全評估與設計合同
- 二零二五年度農村公共服務設施補貼協(xié)議
- 2025年度環(huán)保企業(yè)技術人員勞動合同終止及環(huán)保項目交接合同
- 二零二五年度園林景觀承包合同終止協(xié)議
- 藥店藥品廣告投放合作股份協(xié)議
- 二零二五年度證券交易糾紛解決協(xié)議范本
- 二零二五年度股權占比協(xié)議書:針對XX集團內部員工持股計劃的具體條款
- 二零二五年度企業(yè)員工離職經濟補償及法律援助協(xié)議
- 《社保知識培訓》教學課件
- 肌力與肌張力課件
- 學生檔案登記表
- is620p系列伺服用戶手冊-v0.2綜合版
- 電信渠道管理人員考核管理辦法
- 勘察工作內容及方案
- 八年級數學(上冊)整式計算題練習100道無答案_新人教版
- 評審會專家意見表
- 托管中心學生家長接送登記表
- 橋梁施工危險源辨識與防控措施
- YD 5062-1998 通信電纜配線管道圖集_(高清版)
評論
0/150
提交評論