計算機畢業(yè)設(shè)計-- 網(wǎng)上車票查詢預(yù)訂系統(tǒng)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  二〇一二年 六 月</b></p><p><b>  摘 要</b></p><p>  鐵路作為中國最重要的交通工具之一,在市場經(jīng)濟浪潮中,面臨著嚴(yán)峻的考驗。電子商務(wù)的出現(xiàn),正好帶給了鐵路客運服務(wù)一個發(fā)展契機,推出新型的訂票方式-網(wǎng)上訂票,既是技術(shù)上的創(chuàng)新,又將完善鐵路服務(wù),在一定程度上解決買票難這一大難題,增強

2、鐵路競爭力,為鐵路爭取到更多的客流。</p><p>  網(wǎng)上車票查詢與預(yù)訂系統(tǒng)是基于我大學(xué)所學(xué)如軟件工程、JAVA語言程序設(shè)計、SQL Server數(shù)據(jù)庫等學(xué)科的綜合應(yīng)用。在程序設(shè)計之前的需求分析、可行性分析、項目開發(fā)計劃、概要設(shè)計和詳細(xì)設(shè)計的這些工作都是來源于軟件工程所學(xué)到的專業(yè)知識,從而得以在實踐中應(yīng)用。在開發(fā)設(shè)計階段,由于本系統(tǒng)開發(fā)是基于JAVA語言開發(fā)技術(shù),所以系統(tǒng)的核心部分就是以JAVA語言為基礎(chǔ)開發(fā)

3、本系統(tǒng)的源代碼工程,工程包括:對象類包、Servlet類包、數(shù)據(jù)庫包和JDBC連接數(shù)據(jù)庫包。本系統(tǒng)開發(fā)測試時所用數(shù)據(jù)庫為MySQL5.5版本,使用Navicat for MySQL圖形用戶界面操作,利用所學(xué)SQL Server數(shù)據(jù)庫技術(shù)知識完成數(shù)據(jù)庫的建立、表的建立和數(shù)據(jù)庫表關(guān)聯(lián)操作。本系統(tǒng)網(wǎng)頁頁面使用Dreamweaver8設(shè)計實現(xiàn),簡潔大方。網(wǎng)上車票查詢與預(yù)訂系統(tǒng)基本完成所需的功能,各個功能模塊之間有的關(guān)聯(lián),有的相互獨立,在功能模塊

4、劃分時運用所學(xué)知識完成功能模塊圖等。</p><p>  基于Web的訂票系統(tǒng)是通過網(wǎng)絡(luò)查詢信息,進行火車票的預(yù)訂的電子商務(wù)系統(tǒng)。訂票在購票交易過程中扮演著十分重要的角色,設(shè)計和實現(xiàn)一個完整的基于Web的訂票系統(tǒng)能夠為旅客提供一個快捷、便利的購票渠道,對促進交通旅游票務(wù)事業(yè)的發(fā)展具有十分重要的意義。</p><p>  關(guān)鍵詞: 網(wǎng)上車票查詢預(yù)訂系統(tǒng);JAVA;Dreamweaver;My

5、SQL;JDBC</p><p><b>  Abstract</b></p><p>  Railway as one of the most important means of transport in China, the market economy, faces a severe test.Emergence of e-commerce, just to

6、the railway passenger service a development opportunity, launched a new booking--booking online, technical innovation, and will improve rail services, tickets to some extent resolve difficult problems, enhance the compet

7、itiveness of railways and attract more passenger traffic to the railway. </p><p>  Online ticket enquiries and reservation system is based on my college studies such as software engineering, JAVA language pr

8、ogramming and SQL Server database integrated applications of network technology and other disciplines. Before the program's needs analysis, feasibility study, project development plan, design and detailed design work

9、 would be learned from software engineering expertise, which can be applied in practice. In the design development phase, because the development of this system</p><p>  Web-based booking system is a network

10、 of information, e-commerce system for train ticket reservation. Booking ticket transactions plays a very important role in the process, designing and implementing a complete Web-based booking system is able to provide a

11、 fast, convenient booking channels, to promote development of tourism traffic ticket is of great significance. Keywords: online ticket query system; JAVA;Dreamweaver; MySQL; JDBC</p><p><b>  目 錄&l

12、t;/b></p><p><b>  引 言1</b></p><p>  第一章 相關(guān)技術(shù)簡介1</p><p>  1.1 JAVA技術(shù)簡介1</p><p>  1.2 MySQL簡介1</p><p>  1.3 Dreamweaver簡介1</p><

13、;p>  1.4 Myeclipse簡介1</p><p>  第二章 系統(tǒng)分析1</p><p>  2.1 需求分析1</p><p>  2.1.1 分析目的1</p><p>  2.1.2 項目背景1</p><p>  2.2 任務(wù)概述1</p><p>  2.

14、3 系統(tǒng)工作流程1</p><p>  2.4 功能分析1</p><p>  2.5 系統(tǒng)處理流程1</p><p>  2.6 數(shù)據(jù)分析1</p><p>  2.6.1 數(shù)據(jù)庫設(shè)計1</p><p>  2.6.2 數(shù)據(jù)庫介紹1</p><p>  第三章 系統(tǒng)設(shè)計1<

15、;/p><p>  3.1 功能劃分1</p><p>  3.2 層次模塊圖1</p><p>  3.3 功能描述1</p><p>  3.3 功能分配1</p><p>  第四章 系統(tǒng)實現(xiàn)1</p><p>  4.1 運行及實現(xiàn)1</p><p> 

16、 4.1.1登錄注冊模塊1</p><p>  4.1.2前臺首頁模塊1</p><p>  4.1.3車票預(yù)訂模塊1</p><p>  4.1.4車次查詢模塊1</p><p>  4.1.5修改資料模塊1</p><p>  4.1.5用戶管理模塊1</p><p>  4.1

17、.6站點管理模塊1</p><p>  4.1.7車次管理模塊1</p><p>  4.1.8訂單管理模塊1</p><p>  4.1.9消息管理模塊1</p><p>  4.2 核心代碼1</p><p><b>  結(jié) 論1</b></p><p>&

18、lt;b>  參考文獻1</b></p><p><b>  謝 辭1</b></p><p><b>  圖表清單</b></p><p>  圖2-1 網(wǎng)上車票查詢預(yù)訂系統(tǒng)網(wǎng)站工作流程圖6</p><p>  圖2-2 普通用戶用例圖7</p><p

19、>  圖2-3 管理員用例圖7</p><p>  圖2-4 網(wǎng)上車票查詢預(yù)訂系統(tǒng)前臺流程圖8</p><p>  圖2-5 網(wǎng)上車票查詢預(yù)訂系統(tǒng)后臺流程圖9</p><p>  圖3-1 網(wǎng)上車票查詢預(yù)訂系統(tǒng)前臺總體結(jié)構(gòu)圖13</p><p>  圖3-2 網(wǎng)上車票查詢預(yù)訂系統(tǒng)后臺總體結(jié)構(gòu)圖14</p>&

20、lt;p>  圖3-5 車票預(yù)訂模塊結(jié)構(gòu)圖16</p><p>  圖3-6 車次查詢模塊結(jié)構(gòu)圖17</p><p>  圖3-7 用戶注冊登錄結(jié)構(gòu)圖17</p><p>  圖3-8 修改資料模塊結(jié)構(gòu)圖18</p><p>  圖3-9 用戶管理模塊結(jié)構(gòu)圖18</p><p>  圖3-10

21、 訂單管理模塊結(jié)構(gòu)圖19</p><p>  圖3-11 訂單管理模塊結(jié)構(gòu)圖20</p><p>  圖3-12 訂單管理模塊結(jié)構(gòu)圖20</p><p>  圖3-13 消息管理模塊結(jié)構(gòu)圖21</p><p>  圖4-1 系統(tǒng)登錄首頁login.jsp22</p><p>  圖4-2 沒有填寫用戶名或

22、密碼報錯提示框22</p><p>  圖4-6 前臺首頁index.html24</p><p>  圖4-7 車票預(yù)訂界面 order.jsp25</p><p>  圖4-8 車票預(yù)訂成功界面ordersuccess.jsp26</p><p>  圖4-9 車次查詢界面checicx.html26</p>

23、<p>  圖4-10 車次查詢成功界面checicxsuccess.html27</p><p>  圖4-12 管理員登錄后臺界面Mindex.html28</p><p>  圖4-13 用戶管理界面Myonghu.jsp28</p><p>  圖4-14 添加用戶界面Mtianyonghu.jsp29</p><p

24、>  圖4-15 刪除用戶界面Mshanyonghu.jsp29</p><p>  圖4-16 站點管理界面Mzhandian.jsp30</p><p>  圖4-17 車次管理界面Mcheci.jsp30</p><p>  圖4-18 訂單管理界面Mdingdan.jsp31</p><p>  圖4-19 刪除訂單界面

25、Mshandingdan.jsp31</p><p>  圖4-20 消息管理界面Mxiaoxi.jsp32</p><p>  表2-1 ticket數(shù)據(jù)庫9</p><p>  表2-2 用戶信息表 custom10</p><p>  表2-3 orderpace表11</p><p>  表2-4

26、 train表11</p><p>  表2-5 point表11</p><p>  表2-7 message表12</p><p><b>  引 言</b></p><p>  隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)訂票開始慢慢地滲透到人們的生活中,只需一臺電腦,查詢、預(yù)訂都在虛擬的空間里進行,讓訂票成為了一件輕松的

27、事情。相對于傳統(tǒng)的購票方式,網(wǎng)上訂票的優(yōu)勢不言而喻。網(wǎng)上訂票查詢方便,不受時間和空間的限制,傳統(tǒng)買票方式一般是去售票點排隊購票,或者提前打個電話預(yù)訂,特別是到了春運這個特殊的時候就很麻煩,車站里長長的購票隊伍尤為壯觀,不站上幾個小時很難買到票;而采用電話訂票的方式,特別是節(jié)假日時期,很難打通訂票電話。網(wǎng)絡(luò)訂票與傳統(tǒng)的售票方式最大的不同之處就在于不需要現(xiàn)場去排隊,只要鼠標(biāo)輕輕一點,足不出戶就能知道你所要前往的線路是否還有剩余車票,不至于排

28、了半天隊,還是沒買到票。</p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)是基于B/S結(jié)構(gòu)的服務(wù)系統(tǒng),它的開發(fā)主要采用JAVA編程技術(shù),JDBC連接數(shù)據(jù)庫技術(shù),網(wǎng)頁使用所學(xué)Dreamweaver有關(guān)知識制作完成,結(jié)合后臺數(shù)據(jù)庫MySQL綜合應(yīng)用完成本系統(tǒng)。使用Visio畫圖工具實現(xiàn)該系統(tǒng)的功能結(jié)構(gòu)圖。通過以上技術(shù)相結(jié)合,較好的完成了網(wǎng)上車票查詢預(yù)訂系統(tǒng)的建設(shè)。</p><p>  網(wǎng)上車票查詢預(yù)訂

29、系統(tǒng)可以發(fā)布最新的車次信息、站點信息,可以實現(xiàn)在線車票預(yù)訂、查看車次的詳細(xì)信息和新用戶注冊。用戶可以通過注冊,登錄本系統(tǒng)進行車票信息的查詢及預(yù)訂操作。網(wǎng)上車票查詢預(yù)訂系統(tǒng)基本解決了日常所需的常見問題,但在功能方面還有待完善,如數(shù)據(jù)庫的保護與備份等。</p><p>  第一章 相關(guān)技術(shù)簡介</p><p>  1.1 JAVA技術(shù)簡介</p><p>  Java是

30、一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaSE, JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊

31、前景。</p><p>  Java編程語言的風(fēng)格十分接近C、C++語言。Java是一個純的面向?qū)ο蟮某绦蛟O(shè)計語言,它繼承了C++語言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C++語言中容易引起錯誤的指針(以引用取代)、運算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在Java SE 1

32、.5版本中,Java又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。Java不同于一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了Java程序的運行效率。但在J2S

33、E 1.4.2發(fā)布后,Java的執(zhí)行速度有了大幅提升。與傳統(tǒng)程序不同,Sun公司在推出Java之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計的Java開發(fā)公司被要求所設(shè)計的Ja</p><p>  1.2 MySQL簡介 </p><p>  MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,Sun又被Oracle

34、收購。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的SQL“結(jié)構(gòu)化查詢語言”。SQL是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><

35、p>  MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。   </p><p>  由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。MySQL因為其速度、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情

36、況下,MySQL是管理內(nèi)容最好的選擇。     </p><p>  1.3 Dreamweaver簡介</p><p>  Macromedia Dreamweaver是一款專業(yè)的HTML編輯器,用于對Web站點、Web頁和 Web應(yīng)用程序進行設(shè)計、編碼和開發(fā)。無論手工編寫 HTML 代碼還是在可視化編輯環(huán)境中工作,Dreamweaver都會提供有用的工具,集網(wǎng)頁制作和管理網(wǎng)站于一身。&

37、lt;/p><p>  利用Dreamweaver中的可視化編輯功能,可以快速地創(chuàng)建頁面而無需編寫任何代碼??梢圆榭此姓军c元素或資源并將它們從易于使用的面板直接拖到文檔中??梢栽?Macromedia Fireworks中創(chuàng)建和編輯圖像,然后將它們直接導(dǎo)入Dreamweaver,或者直接在Dreamweaver中添加Macromedia Flash對象,從而優(yōu)化開發(fā)工作流程。 </p><p&g

38、t;  Dreamweaver還包括多種與編碼相關(guān)的工具和功能,其中包括代碼視圖中的代碼編輯工具(如代碼加色和標(biāo)簽完成);有關(guān)HTML、CSS、JavaScript、CFML、ASP和JSP 的參考資料以及一個JavaScript調(diào)試器。Dreamweaver的可自由導(dǎo)入導(dǎo)出HTML技術(shù)可導(dǎo)入手工編碼的HTML文檔而不會重新設(shè)置代碼的格式,可以隨后用首選的格式設(shè)置樣式來重新設(shè)置代碼的格式。Dreamweaver現(xiàn)在包含并擴展了Macro

39、media UltraDev中的所有功能,以幫助使用ASP、ASP.NET、ColdFusion標(biāo)記語言(CFML)、JSP和PHP等服務(wù)器語言來生成由動態(tài)數(shù)據(jù)庫支持的Web應(yīng)用程序。Dreamweaver可以完全自定義??梢詣?chuàng)建自己的對象和命令,修改鍵盤快捷方式,甚至編寫JavaScript代碼,用新的行為、屬性檢查器和站點報告來擴展Dreamweaver的功能。 </p><p>  在開發(fā)Web應(yīng)用程序時,

40、則必須根據(jù)需要設(shè)置服務(wù)器和數(shù)據(jù)庫。然后再設(shè)計該站點的外觀。當(dāng)外觀設(shè)計完成后,將生成該站點并編寫頁代碼,以添加內(nèi)容和交互控件;然后將頁面鏈接在一起,并對該站點進行功能測試,以驗證它是否符合定義的目標(biāo),還可以在站點中包含動態(tài)頁。</p><p>  1.4 Myeclipse簡介</p><p>  MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,My

41、Eclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。</p><p>  MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試

42、、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。</p><p>  在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:</p><p>  (1) JavaEE模型   </p><p> ?。?) WEB開發(fā)工具   </p><p> ?。?) EJB開發(fā)

43、工具   </p><p>  (4) 應(yīng)用程序服務(wù)器的連接器   </p><p> ?。?) JavaEE項目部署服務(wù)   </p><p>  (6) 數(shù)據(jù)庫服務(wù)   </p><p> ?。?) MyEclipse整合幫助   </p><p>  對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部

44、件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時不需安裝Eclipse。</p><p><b

45、>  第二章 系統(tǒng)分析</b></p><p><b>  2.1 需求分析</b></p><p>  2.1.1 分析目的</p><p>  本項目來源于實際應(yīng)用,傳統(tǒng)的購票方式暴露出了許多弊端:購買車票需要排隊,浪費大量時間,但卻不一定能買到車票。面對現(xiàn)在越來越多的網(wǎng)絡(luò)用戶,因此,開發(fā)一個網(wǎng)上車票查詢與預(yù)訂系統(tǒng)十分重

46、要,該系統(tǒng)可以查詢車次,預(yù)訂車票,給用戶提供方便快捷的方式去購買車票,同時也緩解了車站售票窗口處排長隊擁擠的狀況,也提高了車票銷售的效率。</p><p>  2.1.2 項目背景</p><p>  基于B/S結(jié)構(gòu)的網(wǎng)上車票查詢預(yù)訂系統(tǒng)——趙永紅老師提出,由朱見濤同學(xué)開發(fā)。此系統(tǒng)開發(fā)主要采用JAVA、SQL Server等技術(shù),將它們綜合應(yīng)用來編寫代碼;另外在開發(fā)系統(tǒng)過程中還用到了Mye

47、clipse、Dreamweaver、MySQL等輔助性開發(fā)軟件。系統(tǒng)主要實現(xiàn)了用戶注冊、登錄與用戶信息管理、車票的預(yù)訂,個人訂單管理、站點信息管理、車次信息管理和具體某車次的查詢等功能,并且它在WIN2000、WIN XP、WIN2003系統(tǒng)中都能很好的運行,在具有很好的兼容性。</p><p><b>  2.2 任務(wù)概述</b></p><p><b>

48、;  1.設(shè)計目標(biāo)</b></p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)的設(shè)計,不僅滿足廣大用戶的需求,重要的是也緩解了鐵路售票的巨大壓力,網(wǎng)上訂票查詢方便,不受時間和空間的限制。通過在網(wǎng)站的注冊后,可以進行車票預(yù)訂、車次查詢等操作;管理員通過身份驗證后進入系統(tǒng)后臺,可以進行用戶等信息的增加、刪除與修改等操作。</p><p><b>  2.運行環(huán)境</b>

49、</p><p>  操作系統(tǒng):Microsoft Windows xp/2000/2003及以上系統(tǒng)</p><p>  軟件環(huán)境:Tomcat 6.0</p><p>  數(shù) 據(jù) 庫:MySQL 5.5</p><p>  2.3 系統(tǒng)工作流程</p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)的主要作用是在前臺可以新用戶注

50、冊、登錄、車票預(yù)訂、車次查詢等功能,在后臺主要可以進行用戶管理、訂單管理、站點管理和車次管理等功能</p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)工作流程圖如圖2-1所示。</p><p>  圖2-1 網(wǎng)上車票查詢預(yù)訂系統(tǒng)網(wǎng)站工作流程圖</p><p><b>  2.4 功能分析 </b></p><p>  網(wǎng)上車票查詢

51、預(yù)訂系統(tǒng)網(wǎng)站的用戶為:系統(tǒng)管理員,需要提前預(yù)定車票的用戶,查詢車次詳細(xì)信息的用戶,在這里使用用例圖描述相關(guān)用戶的功能。</p><p>  用例圖是一個敘述型的文檔,用來描述參與者使用系統(tǒng)完成某個事件時的事情發(fā)生順序。以下描述了普通用戶的用例圖如圖2-2所示,和管理員的用例圖如圖2-3所示。</p><p>  圖2-2 普通用戶用例圖</p><p>  圖2-3

52、 管理員用例圖</p><p>  2.5 系統(tǒng)處理流程</p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)流程圖主要說明數(shù)據(jù)的處理過程,使用戶能夠一目了然的了解操作程序。</p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)前臺流程圖如圖2-4所示。</p><p>  圖2-4 網(wǎng)上車票查詢預(yù)訂系統(tǒng)前臺流程圖</p><p>  網(wǎng)上車

53、票查詢預(yù)訂系統(tǒng)后臺流程圖如圖2-5所示。</p><p>  圖2-5 網(wǎng)上車票查詢預(yù)訂系統(tǒng)后臺流程圖</p><p><b>  2.6 數(shù)據(jù)分析</b></p><p>  2.6.1 數(shù)據(jù)庫設(shè)計</p><p>  網(wǎng)上車票預(yù)訂查詢系統(tǒng)網(wǎng)站數(shù)據(jù)庫包括系統(tǒng)用戶信息表、訂單信息表、站點信息表、列車信息表、消息表和票價信

54、息表等共6張表,通過6張表的使用將網(wǎng)站的信息進行管理,如表2-1所示。</p><p>  表2-1 ticket數(shù)據(jù)庫</p><p>  2.6.2 數(shù)據(jù)庫介紹</p><p>  custom(系統(tǒng)用戶信息表)描述了用戶信息,如用戶的用戶名和密碼等,其中用戶級別這個字段用戶是不可以更改的,每一個通過本系統(tǒng)“新用戶注冊”功能注冊的用戶賬戶都默認(rèn)是普通用戶級別(即

55、在數(shù)據(jù)庫中顯示為“1”級),而管理員賬戶級別在數(shù)據(jù)庫中顯示為“2”級,如表2-2所示。</p><p>  表2-2 用戶信息表 custom</p><p>  訂單信息表orderpace,主要描述了車票預(yù)訂訂單的基本信息。該表中設(shè)有兩個外鍵:trainid和priceid。trainid作為外鍵關(guān)聯(lián)train表的主鍵trainid,用戶在預(yù)訂界面選擇出發(fā)站和到達站之后點擊預(yù)訂,后臺從

56、數(shù)據(jù)庫中查得該次列車的列車編號、列車名稱、出發(fā)時間和到站時間,顯示給用戶,讓用戶看到詳細(xì)訂單信息;priceid作為外鍵關(guān)聯(lián)price表的主鍵priceid,用戶在預(yù)訂界面選擇出發(fā)站、到達站和所預(yù)訂車票的類型后,后臺從數(shù)據(jù)庫中查得該車次列車的對應(yīng)車票類型的票價,將數(shù)據(jù)返回界面,顯示給用戶,讓用戶了解詳細(xì)的訂單信息,如表2-3所示。</p><p>  表2-3 orderpace表</p><

57、;p>  列車信息表train,主要描述了有關(guān)列車的相關(guān)信息,其主鍵trainid與orderpace表的外鍵trainid關(guān)聯(lián),如表2-4所示。</p><p>  表2-4 train表</p><p>  站點信息表point,主要描述了本系統(tǒng)所有車次覆蓋站點的相關(guān)信息,如表2-5所示。</p><p>  表2-5 point表</p>

58、<p>  價格信息表price,主要描述了各趟列車不同類型的票價信息,其主鍵priceid與表orderpace的外鍵priceid關(guān)聯(lián),如表2-6所示。</p><p>  表2-6 price表</p><p>  消息表message,主要描述了用戶發(fā)布轉(zhuǎn)讓車票消息、求購車票消息等內(nèi)容,該表中設(shè)有一個外鍵customid,其關(guān)聯(lián)custom表的主鍵customid,

59、消息發(fā)布界面要通過關(guān)聯(lián)的外鍵customid從custom表中讀出當(dāng)前登錄用戶的信息,如用戶姓名和聯(lián)系電話,如表2-7所示。</p><p>  表2-7 message表</p><p><b>  第三章 系統(tǒng)設(shè)計</b></p><p><b>  3.1 功能劃分</b></p><p>

60、;  網(wǎng)上車票查詢預(yù)訂系統(tǒng)在前臺中擁有新用戶注冊、用戶登錄、車票預(yù)訂、車次查詢和用戶資料修改等功能;在后臺擁有對用戶信息、車次信息、站點信息、訂單信息和消息的管理。 </p><p><b>  3.2 層次模塊圖</b></p><p>  網(wǎng)上車票查詢預(yù)訂系統(tǒng)總體結(jié)構(gòu)圖主要介紹了網(wǎng)站的功能模塊劃分,詳細(xì)描述每一個模塊的子功能,用戶可以很快的了解網(wǎng)站的模塊功能。下面

61、描述了網(wǎng)上車票查詢預(yù)訂系統(tǒng)前臺結(jié)構(gòu)圖如圖3-1所示,后臺結(jié)構(gòu)圖如圖3-2所示。</p><p>  圖3-1 網(wǎng)上車票查詢預(yù)訂系統(tǒng)前臺總體結(jié)構(gòu)圖</p><p>  圖3-2 網(wǎng)上車票查詢預(yù)訂系統(tǒng)后臺總體結(jié)構(gòu)圖</p><p><b>  3.3 功能描述</b></p><p>  時序圖用來顯示對象之間的關(guān)系,并

62、強調(diào)對象之間消息的時間順序,同時顯示對象之間的交互。以下分別描述了管理員時序圖如圖3-3所示,普通用戶時序圖如圖3-4所示。</p><p>  圖3-3 管理員時序圖</p><p>  圖3-4 普通用戶時序圖</p><p><b>  3.3 功能分配</b></p><p><b>  1.車票預(yù)訂模

63、塊</b></p><p>  車票預(yù)訂模塊屬于前臺模塊,包括車票預(yù)訂界面。</p><p>  車票預(yù)訂主要是為登錄本系統(tǒng)的普通用戶在車票預(yù)訂界面進行車票的預(yù)訂操作,需要用戶填寫用戶姓名和選擇出發(fā)站和到點站,然后提交相應(yīng)的預(yù)訂信息。</p><p>  下面是車票預(yù)訂模塊結(jié)構(gòu)圖,如圖3-5所示。</p><p>  圖3-5車票

64、預(yù)訂模塊結(jié)構(gòu)圖</p><p><b>  2.車次查詢模塊</b></p><p>  車次查詢模塊屬于前臺模塊,包括車次查詢界面。</p><p>  車次查詢主要是為了本系統(tǒng)的普通用戶提供一個查詢和獲得信息的平臺,例如用戶想要查詢一趟列車始發(fā)站和終點站,又例新增列車線路,用戶可通過查看車次號對應(yīng)表找到所要獲得列車信息的車次號,輸入車次號查

65、詢新增列車的到站信息等。</p><p>  下面是車次查詢模塊結(jié)構(gòu)圖,如圖3-6所示。</p><p>  圖3-6車次查詢模塊結(jié)構(gòu)圖</p><p>  3.用戶注冊登錄模塊</p><p>  用戶注冊登錄模塊屬于前臺模塊,包括登錄界面、注冊界面。</p><p>  登錄窗口主要用來為已經(jīng)注冊的用戶提供登錄操作

66、,登錄成功之后進入系統(tǒng)的歡迎界面,即系統(tǒng)的首頁。</p><p>  新用戶注冊窗口主要用來為想要使用該系統(tǒng)的還未注冊的用戶,在這里可以進行相關(guān)內(nèi)容填寫注冊成為普通用戶,然后登錄本系統(tǒng)進行查詢、預(yù)訂等操作。</p><p>  下面是用戶注冊登錄模塊結(jié)構(gòu)圖,如圖3-7所示。</p><p>  圖3-7 用戶注冊登錄結(jié)構(gòu)圖</p><p>&

67、lt;b>  4.修改資料模塊</b></p><p>  修改資料模塊屬于前臺模塊,可以讓當(dāng)前登錄用戶修改其注冊信息。用戶在點擊“修改資料”后,可顯示當(dāng)前用戶資料信息供用戶執(zhí)行修改操作。</p><p>  下面是修改資料模塊結(jié)構(gòu)圖,如圖3-8所示。</p><p>  圖3-8 修改資料模塊結(jié)構(gòu)圖</p><p><

68、;b>  5.用戶管理模塊</b></p><p>  用戶管理模塊屬于后臺模塊,包括用戶管理界面。</p><p>  用戶管理是由管理員身份登錄本系統(tǒng)后,在后臺系統(tǒng)界面中點擊進入的,可顯示本系統(tǒng)所注冊使用的所有用戶的信息,如用戶的用戶名、密碼、電子信箱和電話,并且可以進行添加和刪除用戶的操作。下面是用戶管理模塊結(jié)構(gòu)圖,如圖3-9所示。</p><p

69、>  圖3-9 用戶管理模塊結(jié)構(gòu)圖</p><p><b>  6.訂單管理模塊</b></p><p>  訂單管理模塊屬于后臺管理模塊,包括訂單管理界面。</p><p>  訂單管理模塊是由管理員身份登錄本系統(tǒng)后,在后臺系統(tǒng)界面中點擊進入的,可顯示本系統(tǒng)數(shù)據(jù)庫訂單信息表orderpace中所有用戶下的訂單信息,如顧客姓名、出發(fā)站、到

70、達站等,并且可進行添加、修改和刪除訂單的操作,其中刪除操作包括刪除過期作廢的訂單、強制取消的訂單和已完成的訂單。</p><p>  下面是訂單管理模塊結(jié)構(gòu)圖,如圖3-10所示。</p><p>  圖3-10訂單管理模塊結(jié)構(gòu)圖</p><p><b>  7.站點管理模塊</b></p><p>  站點管理模塊屬于后

71、臺管理模塊,包括站點管理界面。</p><p>  站點管理模塊是由管理員身份登錄本系統(tǒng)后,在后臺系統(tǒng)界面中點擊進入的,可顯示本系統(tǒng)數(shù)據(jù)庫站點信息表point中所有站點的信息,如站點編號、站點名稱,并且可進行添加、修改和刪除站點的操作,其中刪除操作包括刪除線路取締的站點和無列車經(jīng)過的站點;修改操作包括變換線路的站點或更換名稱的站點。</p><p>  下面是站點管理模塊結(jié)構(gòu)圖,如圖3-1

72、1所示。</p><p>  圖3-11訂單管理模塊結(jié)構(gòu)圖</p><p><b>  8.車次管理模塊</b></p><p>  車次管理模塊屬于后臺管理模塊,包括車次管理界面。</p><p>  車次管理模塊是由管理員身份登錄本系統(tǒng)后,在后臺系統(tǒng)界面中點擊進入的,可顯示本系統(tǒng)數(shù)據(jù)庫車次信息表train中所有列車的

73、信息,如車次號、車次名稱、始發(fā)站和終點站等,并且可進行添加、修改和刪除車次的操作,其中添加操作是為新增列車車次時能夠及時更新列車信息時準(zhǔn)備的,修改和刪除操作也是為了及時更新列車信息數(shù)據(jù)庫,以便更好地給用戶提供及時的列車車次信息。</p><p>  下面是車次管理模塊結(jié)構(gòu)圖,如圖3-12所示。</p><p>  圖3-12訂單管理模塊結(jié)構(gòu)圖</p><p><

74、;b>  9.消息管理模塊</b></p><p>  消息模塊屬于后臺管理模塊,包括消息管理界面。</p><p>  消息管理模塊是由管理員身份登錄本系統(tǒng)后,在后臺系統(tǒng)界面中點擊進入的,可顯示本系統(tǒng)數(shù)據(jù)庫消息信息表message中所有消息的信息,如消息號、消息主題、消息內(nèi)容和客戶編號等,并且可進行刪除消息的操作,其中刪除操作也是為了管理信息表中各條信息,以便及時刪除已

75、過期的信息。</p><p>  下面是消息管理模塊結(jié)構(gòu)圖,如圖3-13所示。</p><p>  圖3-13消息管理模塊結(jié)構(gòu)圖</p><p><b>  第四章 系統(tǒng)實現(xiàn)</b></p><p><b>  4.1 運行及實現(xiàn)</b></p><p>  4.1.1登錄

76、注冊模塊</p><p>  在登錄注冊模塊中已經(jīng)注冊的用戶可以進行登錄,沒有進行注冊的可以進行新用戶注冊操作。</p><p>  登錄界面如圖4-1所示。</p><p>  圖4-1 login.jsp</p><p>  沒有填寫用戶名或密碼時窗口報錯,如圖4-2所示。</p><p>  圖4-2 沒有填寫用

77、戶名或密碼報錯提示框</p><p>  用戶名或密碼不正確時進入登錄失敗頁面,如圖4-3所示。</p><p>  圖4-3 用戶名或密碼錯誤時登錄失敗界面error.jsp</p><p>  通過點擊新用戶注冊可以進入注冊界面,如圖4-4所示。</p><p>  圖4-4 新用戶注冊界面register.html</p>

78、<p>  注冊成功則進入注冊信息顯示頁面,如圖4-5所示。</p><p>  圖4-5 新用戶注冊成功界面registersuccess.html</p><p>  4.1.2前臺首頁模塊</p><p>  登錄成功的首頁信息有簡單的歡迎語和功能導(dǎo)航欄,簡潔大方,給用戶舒適的感覺,能夠使用戶輕松愉快的運用本系統(tǒng)的功能完成網(wǎng)上車票預(yù)訂與查詢操作。&

79、lt;/p><p>  下面是前臺首頁的界面,如圖4-6所示。</p><p>  圖4-6 前臺首頁index.html</p><p>  4.1.3車票預(yù)訂模塊</p><p>  車票預(yù)訂模塊主要是實現(xiàn)用戶在線完成車票的預(yù)訂。</p><p>  下面是前臺首頁的界面,如圖4-7所示。</p><

80、;p>  圖4-7 車票預(yù)訂界面 order.jsp</p><p>  預(yù)訂成功后會顯示預(yù)訂信息,如圖4-8所示。</p><p>  圖4-8 車票預(yù)訂成功界面ordersuccess.jsp</p><p>  4.1.4車次查詢模塊</p><p>  車次查詢模塊是給用戶提供在線查詢列車信息和獲得車次信息的平臺,使用戶能及時獲

81、得最新的列車信息。</p><p>  下面是車次查詢的界面,如圖4-9所示。 </p><p>  圖4-9 車次查詢界面checicx.html</p><p>  輸入正確的車次號點擊提交后系統(tǒng)會顯示所查詢的車次的詳細(xì)信息,如圖4-10所示。</p><p>  圖4-10 車次查詢成功界面checicxsuccess.html<

82、/p><p>  4.1.5修改資料模塊</p><p>  修改資料模塊使用戶能夠及時修改當(dāng)前登錄用戶信息,如修改用戶名、密碼、郵箱和聯(lián)系電話等。</p><p>  下面是修改資料的界面,如圖4-11所示。</p><p>  圖4-11 修改資料界面gaiyonghu.jsp</p><p>  4.1.5用戶管理模

83、塊</p><p>  用戶管理模塊是管理員登錄系統(tǒng)后臺進入的模塊,可對本系統(tǒng)所有用戶進行管理。</p><p>  下面是管理員登錄系統(tǒng)后臺界面,如圖4-12所示。</p><p>  圖4-12 管理員登錄后臺界面Mindex.html</p><p>  管理員登錄系統(tǒng)后臺后點擊進入用戶模塊界面,如圖4-13所示。</p>

84、<p>  圖4-13 用戶管理界面Myonghu.jsp</p><p>  可進行添加用戶和刪除用戶操作,如圖4-14和圖4-15所示。 </p><p>  圖4-14 添加用戶界面Mtianyonghu.jsp</p><p>  圖4-15 刪除用戶界面Mshanyonghu.jsp</p><p>  4.1.6站點管

85、理模塊</p><p>  站點管理模塊是管理員登錄系統(tǒng)后臺進入的模塊,可對本系統(tǒng)數(shù)據(jù)庫表中的站點信息進行管理。</p><p>  下面是站點管理界面,如圖4-16所示。</p><p>  圖4-16 站點管理界面Mzhandian.jsp</p><p>  4.1.7車次管理模塊</p><p>  車次管理模

86、塊是管理員登錄系統(tǒng)后臺點擊進入的模塊,可對數(shù)據(jù)庫表中列車信息進行顯示和修改等操作。</p><p>  下面是車次管理界面,如圖4-17所示。</p><p>  圖4-17 車次管理界面Mcheci.jsp</p><p>  4.1.8訂單管理模塊</p><p>  訂單管理模塊是管理員登錄系統(tǒng)后臺點擊進入的模塊,可對數(shù)據(jù)庫表中訂單信息

87、進行刪除操作。下面是訂單管理的界面,如圖4-18所示。</p><p>  圖4-18 訂單管理界面Mdingdan.jsp</p><p>  管理員可以對訂單信息進行刪除操作,如圖4-19所示。</p><p>  圖4-19 刪除訂單界面Mshandingdan.jsp</p><p>  4.1.9消息管理模塊</p>

88、<p>  消息管理模塊是管理員登錄系統(tǒng)后臺點擊進入的模塊,可對數(shù)據(jù)庫表中消息進行刪除操作。下面是消息管理的界面,如圖4-20所示。</p><p>  圖4-20 消息管理界面Mxiaoxi.jsp</p><p><b>  4.2 核心代碼</b></p><p>  1.ticket工程下util包中連接sql數(shù)據(jù)庫的JDBC

89、Util類。</p><p>  package util;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.SQLException;</p><p>  

90、public class JDBCUtil {</p><p>  private static Connection conn;</p><p>  public static Connection getConnection() {</p><p><b>  try {</b></p><p>  Class.fo

91、rName("com.mysql.jdbc.Driver");</p><p>  } catch (Exception e) {</p><p><b>  }</b></p><p><b>  try {</b></p><p>  conn = DriverManager

92、.getConnection(</p><p>  "jdbc:mysql://localhost/ticket?useUnicode=true&characterEncoding=utf8","root","123");</p><p>  } catch (SQLException e) {</p>&l

93、t;p>  e.printStackTrace();</p><p>  } finally {</p><p><b>  }</b></p><p>  return conn;</p><p><b>  }</b></p><p><b>  }<

94、;/b></p><p>  2. ticket工程下Vo包中定義的屬性類。</p><p><b>  例如用戶屬性類。</b></p><p>  package Vo;</p><p>  public class CustomVo {</p><p>  private int cu

95、stomid;</p><p>  private String customname;</p><p>  private String custompsw;</p><p>  private String custommail;</p><p>  public int getLevel() {</p><p>

96、  return level;</p><p><b>  }</b></p><p>  public void setLevel(int level) {</p><p>  this.level = level;</p><p><b>  }</b></p><p>

97、  private int level;</p><p>  private String phone;</p><p>  public int getCustomid() {</p><p>  return customid;</p><p><b>  }</b></p><p>  pu

98、blic void setCustomid(int customid) {</p><p>  this.customid = customid;</p><p><b>  }</b></p><p>  public String getCustomname() {</p><p>  return customna

99、me;</p><p><b>  }</b></p><p>  public void setCustomname(String customname) {</p><p>  this.customname = customname;</p><p><b>  }</b></p>

100、<p>  public String getCustompsw() {</p><p>  return custompsw;</p><p><b>  }</b></p><p>  public void setCustompsw(String custompsw) {</p><p>  this

101、.custompsw = custompsw;</p><p><b>  }</b></p><p>  public String getCustommail() {</p><p>  return custommail;</p><p><b>  }</b></p><

102、p>  public void setCustommail(String custommail) {</p><p>  this.custommail = custommail;</p><p><b>  }</b></p><p>  public String getPhone() {</p><p>  

103、return phone;</p><p><b>  }</b></p><p>  public void setPhone(String phone) {</p><p>  this.phone = phone;</p><p><b>  }</b></p><p>

104、;<b>  }</b></p><p>  3.ticket工程下servlet包中AddOrderServlet類、DeleteOrderServlet類、ListOrderServlet類、LoginServlet類、RegisterServlet類等。</p><p>  例如AddOrderServlet類</p><p>  pac

105、kage servlet;</p><p>  import java.io.IOException;</p><p>  import javax.servlet.ServletException;</p><p>  import javax.servlet.http.HttpServlet;</p><p>  import javax

106、.servlet.http.HttpServletRequest;</p><p>  import javax.servlet.http.HttpServletResponse;</p><p>  import Vo.OrderVo;</p><p>  import dao.OrderDaoImpl;</p><p>  public

107、class AddOrderServlet extends HttpServlet {</p><p>  public void service(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><

108、p>  String trainstart = request.getParameter("select");</p><p>  String trainend = request.getParameter("select2");</p><p>  String customname = request.getParameter("

109、;customname");</p><p>  OrderVo c=new OrderVo();</p><p>  OrderDaoImpl uidi = new OrderDaoImpl();</p><p>  c.setCustomname(customname);</p><p>  c.setTrainstart(tr

110、ainstart);</p><p>  c.setTrainend(trainend);</p><p>  int i = uidi.insertOrderInfo(trainstart, trainend, customname);</p><p>  request.setAttribute("valuess", c);</p>

111、;<p>  if (i != -1) {</p><p>  request.getRequestDispatcher("ordersuccess.jsp").forward(request,response);</p><p><b>  } else {</b></p><p>  request.get

112、RequestDispatcher("ordererror.jsp").forward(request,response);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

113、t;  4.ticket工程下dao包中CustomDaoImpl類、OrderDaoImpl類、PointDaoImpl類和TrainDaoImpl類。</p><p>  例如CustomDaoImpl類</p><p>  package dao;</p><p>  import java.sql.Connection;</p><p&g

114、t;  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p>  import ja

115、va.util.ArrayList;</p><p>  import java.util.List;</p><p>  import Vo.CustomVo;</p><p>  import util.JDBCUtil;</p><p>  public class CustomDaoImpl {</p><p>

116、;  Connection conn = JDBCUtil.getConnection();</p><p>  Statement stmt;</p><p>  ResultSet rs;</p><p>  public CustomVo queryCustomInfo(String customname) {</p><p>  //

117、 TODO Auto-generated method stub</p><p>  String sql = "select * from custom where customname = '" + customname+"' ";</p><p><b>  try {</b></p><

118、;p>  CustomVo uiv = new CustomVo();</p><p>  stmt = conn.createStatement();</p><p>  rs = stmt.executeQuery(sql);</p><p>  if (rs.next()) {</p><p>  uiv.setCustomnam

119、e(rs.getString("customname"));</p><p>  uiv.setCustompsw(rs.getString("custompsw"));</p><p>  uiv.setLevel(rs.getInt("level"));</p><p><b>  }<

溫馨提示

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

最新文檔

評論

0/150

提交評論