

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 本文針對(duì)用戶沒(méi)有時(shí)間買(mǎi)票、買(mǎi)票難以及目前旅游公司靠人工的記錄客戶的火車(chē)票需求信息的情況而開(kāi)發(fā)了這款火車(chē)票網(wǎng)上在線預(yù)訂管理系統(tǒng)。本系統(tǒng)的研究可以解決這一問(wèn)題,系統(tǒng)的實(shí)現(xiàn)不僅讓旅客能更加方便更加快捷地預(yù)訂火車(chē)票這一產(chǎn)品,也極大地減輕旅游公司在火車(chē)票預(yù)訂這塊的人力物力財(cái)力,提高公司的盈利。此次系統(tǒng)的開(kāi)發(fā)按照軟件工程的結(jié)構(gòu)化設(shè)計(jì)思想
2、,經(jīng)過(guò)項(xiàng)目的可行性研究和需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì),以及編碼實(shí)現(xiàn)和調(diào)試等步驟進(jìn)行設(shè)計(jì)開(kāi)發(fā)。并運(yùn)用數(shù)據(jù)流圖和數(shù)據(jù)字典、E-R圖和數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)、層次圖、系統(tǒng)流程圖、以及程序流程圖,對(duì)該系統(tǒng)的數(shù)據(jù)需求、數(shù)據(jù)庫(kù)、系統(tǒng)軟件結(jié)構(gòu)、系統(tǒng)流程、以及處理過(guò)程等進(jìn)行了分析和設(shè)計(jì)。</p><p> 本次設(shè)計(jì)采用java語(yǔ)言、jsp、struts和spring框架、MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)以及MyEclipse開(kāi)發(fā)工具來(lái)開(kāi)發(fā)一個(gè)
3、基于網(wǎng)站的火車(chē)票預(yù)訂管理系統(tǒng),使得公司管理員能夠有效地管理車(chē)次、旅客信息、退票信息。同時(shí)旅客可以通過(guò)查詢到相關(guān)的火車(chē)票信息,選擇適合自己的車(chē)票,也可以直接在網(wǎng)上訂票、退票,省時(shí)省力。</p><p> 火車(chē)票網(wǎng)上在線預(yù)訂管理系統(tǒng)在功能上已基本實(shí)現(xiàn)管理員在后臺(tái)進(jìn)行車(chē)次信息、訂單信息、注冊(cè)會(huì)員信息等模塊的相關(guān)操作以及管理員身份驗(yàn)證和用戶在前臺(tái)注冊(cè)、身份驗(yàn)證,以及查詢余票、訂票、退票的相關(guān)操作。此系統(tǒng)操作簡(jiǎn)單、界面簡(jiǎn)
4、潔,使用人員稍加培訓(xùn)就可以完全掌握和使用該系統(tǒng)。此系統(tǒng)的缺陷就是界面不夠絢麗,比較單一,同時(shí)有些模塊功能的設(shè)計(jì)考慮得不是很周全。</p><p> 關(guān)鍵詞: 信息管理; 火車(chē)售票; 數(shù)據(jù)庫(kù)管理系統(tǒng)</p><p><b> Abstract</b></p><p> The train tickets online booking man
5、agement system, which is presented in this paper, is developed to solve three following problems. The first problem is the user does not have time to buy tickets. The second problem is that it is difficult for the users
6、to buy tickets. The third problem is that travel companies rely on the manual record of customer demand information. This system can solve this problem, the implementation of the system not only will enable travelers boo
7、king train tickets more </p><p> The design uses the java language, jsp, struts and the spring framework, MySQL database management system, as well as the MyEclipse development tools to develop a web-based
8、train ticket booking system, making the company administrator manage the trips, passenger information, refund information effectively. At the same time visitors can query the relevant ticket information, choose ticket,
9、but also directly book online, and refund, so as to save time and effort.</p><p> Train tickets online booking management system has the basic functions. Firstly administrators can manage trips information,
10、 order information, member information. Secondly administrators have to authenticate by the system. Thirdly users can register in the foreground, authenticate , perform query, booking, and refund-related operations. This
11、 system is user-friendly. After minimal training, the users can fully grasp and use the system. The defects of this system is that the interface is not bril</p><p> Key words: Information management; Tick
12、et selling ; Database management</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p><b> 1.1 引言1</b></p><p> 1.2 問(wèn)題描述1</p&
13、gt;<p><b> 1.3 任務(wù)1</b></p><p> 1.4 本論文的主要結(jié)構(gòu)2</p><p> 2 系統(tǒng)的可行性研究與需求分析3</p><p> 2.1 可行性研究3</p><p> 2.1.1 經(jīng)濟(jì)可行性3</p><p> 2.
14、1.2 技術(shù)可行性3</p><p> 2.1.3 操作可行性3</p><p> 2.2 需求分析3</p><p> 2.2.1 功能需求4</p><p> 2.2.2 數(shù)據(jù)需求5</p><p> 2.2.3 性能需求6</p><p> 2.2.4
15、 數(shù)據(jù)流圖6</p><p> 2.2.5 數(shù)據(jù)字典7</p><p> 2.2.6 實(shí)體-聯(lián)系圖9</p><p> 2.2.7 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)10</p><p> 3 系統(tǒng)的總體設(shè)計(jì)12</p><p> 3.1 系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)12</p><p> 3
16、.1.1 軟件結(jié)構(gòu)12</p><p> 3.2 系統(tǒng)流程圖13</p><p> 4 系統(tǒng)的詳細(xì)設(shè)計(jì)17</p><p> 4.1 接口設(shè)計(jì)17</p><p> 4.1.1 用戶接口17</p><p> 4.1.2 外部接口17</p><p> 4.1
17、.3 內(nèi)部接口17</p><p> 4.1.4 軟件接口17</p><p> 4.1.5 模塊內(nèi)部18</p><p> 4.2 過(guò)程設(shè)計(jì)18</p><p> 4.2.1 程序流程圖18</p><p> 5 系統(tǒng)的實(shí)現(xiàn)與調(diào)試20</p><p> 5.
18、1 應(yīng)用系統(tǒng)的開(kāi)發(fā)及測(cè)試20</p><p> 5.1.1 后臺(tái)管理系統(tǒng)運(yùn)行結(jié)果截圖:21</p><p> 5.1.2 前臺(tái)訂票網(wǎng)站運(yùn)行截圖31</p><p><b> 6 結(jié)論39</b></p><p> 6.1 系統(tǒng)評(píng)價(jià)39</p><p> 6.2 安全
19、性39</p><p><b> 參考文獻(xiàn)40</b></p><p><b> 致謝41</b></p><p><b> 1 緒論</b></p><p><b> 1.1 引言</b></p><p> 隨
20、著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)在人們的生活中扮演著越來(lái)越重要的角色。傳統(tǒng)的紙質(zhì)火車(chē)票、飛機(jī)票也慢慢被電子票所取代,而人工記錄火車(chē)票的預(yù)訂銷售也逐漸以網(wǎng)上預(yù)訂系統(tǒng)來(lái)代替。在線火車(chē)票預(yù)訂管理系統(tǒng)有著查找迅速、方便、可靠性強(qiáng)、存儲(chǔ)量大等傳統(tǒng)人工記錄無(wú)法比擬的優(yōu)勢(shì)。</p><p> 傳統(tǒng)的人工去記錄用戶的火車(chē)票預(yù)訂信息,不僅效率低下,也很不方便,更容易造成數(shù)據(jù)上的混亂,另外很難應(yīng)付車(chē)票訂購(gòu)高峰時(shí)刻的大量數(shù)據(jù)處理問(wèn)題,還會(huì)出
21、現(xiàn)由此帶來(lái)的大量記錄存放和管理所帶來(lái)的問(wèn)題??蛻纛A(yù)訂火車(chē)票也很不方便。本系統(tǒng)的研究可以解決這一問(wèn)題。系統(tǒng)的實(shí)現(xiàn)不僅讓旅客能更加方便更加快捷地預(yù)訂火車(chē)票這一產(chǎn)品,也極大地減輕公司在火車(chē)票預(yù)訂這塊的人力物力財(cái)力,提高公司的盈利。</p><p><b> 1.2 問(wèn)題描述</b></p><p> 許多的旅行網(wǎng)站中提供標(biāo)準(zhǔn)化的旅游產(chǎn)品,方便了人們的出行,帶來(lái)生活上的
22、便利。但是在旅游公司中像火車(chē)票這類隨意性很強(qiáng)的非標(biāo)準(zhǔn)化產(chǎn)品卻一直由員工手工進(jìn)行記錄,不僅效率低下,也很不方便,更容易造成數(shù)據(jù)上的混亂。另外很難應(yīng)付車(chē)票訂購(gòu)高峰時(shí)刻的大量數(shù)據(jù)處理問(wèn)題,還會(huì)出現(xiàn)由此帶來(lái)的大量記錄存放和管理所帶來(lái)的問(wèn)題。同時(shí)手工記錄會(huì)經(jīng)常記錄錯(cuò)誤的需求信息,不僅客戶帶來(lái)極大的不便,而且還會(huì)給客戶留下不好的印象。因此建立火車(chē)票預(yù)訂管理系統(tǒng)是一個(gè)很好的解決辦法。</p><p> 作為計(jì)算機(jī)應(yīng)用的一部分
23、,使用計(jì)算機(jī)對(duì)火車(chē)票信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn):查找迅速、方便、可靠性強(qiáng)、存儲(chǔ)量大等。這些優(yōu)點(diǎn)能夠極大地提高公司在火車(chē)票預(yù)訂信息管理方面的效率,同時(shí)節(jié)約了成本提高了收入。因此本文所研究的火車(chē)票預(yù)訂管理系統(tǒng)分為后臺(tái)管理系統(tǒng)和前臺(tái)預(yù)訂系統(tǒng)。后臺(tái)管理系統(tǒng)主要是生成車(chē)次信息供旅客去訂票參考,以及后臺(tái)供管理員對(duì)車(chē)次信息、訂單信息、管理員信息以及會(huì)員信息的管理操作,而前臺(tái)主要供用戶去注冊(cè)、查詢火車(chē)票、預(yù)訂火車(chē)票、查詢訂單、退票的相關(guān)
24、操作。同時(shí)前后臺(tái)分開(kāi)給管理員和普通的用戶使用,不同的用戶分配有不同的權(quán)限,不僅明確了使用人群,而且也較大的提高了火車(chē)票預(yù)訂管理系統(tǒng)的安全性。操作簡(jiǎn)單、安全可靠、界面美觀的火車(chē)票在線預(yù)訂管理系統(tǒng)優(yōu)勢(shì)顯而易見(jiàn)。</p><p><b> 1.3 任務(wù)</b></p><p> 本次設(shè)計(jì)采用java語(yǔ)言[1] [2]、jsp、struts和spring框架、MySQL
25、數(shù)據(jù)庫(kù)管理系統(tǒng)以及MyEclipse開(kāi)發(fā)工具[3]來(lái)開(kāi)發(fā)一個(gè)基于網(wǎng)站的火車(chē)票預(yù)訂管理系統(tǒng),使得公司管理員能夠有效地管理車(chē)次、旅客信息、退票信息。同時(shí)旅客可以通過(guò)查詢到相關(guān)的火車(chē)票信息,選擇適合自己的車(chē)票,也可以直接在網(wǎng)上訂票、退票,省時(shí)省力。</p><p> 1.4 本論文的主要結(jié)構(gòu)</p><p> 本學(xué)位論文主要由五個(gè)部分組成,其內(nèi)容具體安排如:</p><
26、p> 第一部分是緒論。主要介紹了本課題的來(lái)源、選題背景、問(wèn)題描述和論文的主要結(jié)構(gòu)。</p><p> 第二部分介紹系統(tǒng)的可行性研究與需求分析。</p><p> 第三部分介紹系統(tǒng)的總體設(shè)計(jì)。</p><p> 第四部分介紹系統(tǒng)的詳細(xì)設(shè)計(jì)。</p><p> 第五部分是介紹系統(tǒng)的實(shí)現(xiàn)與調(diào)試。</p><p&g
27、t; 第六部分是本課題研究的結(jié)論。</p><p> 2 系統(tǒng)的可行性研究與需求分析</p><p> 2.1 可行性研究</p><p> 該階段通過(guò)對(duì)系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們?cè)谶@里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三方面進(jìn)行分析。</p><p> 2.1.1 經(jīng)濟(jì)可行性</p&
28、gt;<p> 開(kāi)發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的網(wǎng)上訂票系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開(kāi)發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。</p><p> 2.1.2 技術(shù)可行性</p><p> 開(kāi)發(fā)工具:Myeclipse&
29、lt;/p><p> 數(shù)據(jù)庫(kù)環(huán)境:Mysql</p><p> 系統(tǒng)環(huán)境:Microsoft Windows 2000或以上版本。</p><p> 系統(tǒng)實(shí)現(xiàn)依靠相對(duì)熟悉的Java語(yǔ)言[4]、jsp技術(shù)[5]、struts2和spring框架、Mysql數(shù)據(jù)庫(kù)系統(tǒng)[6],其基本操作實(shí)質(zhì)還是對(duì)數(shù)據(jù)庫(kù)進(jìn)行添加、刪除、查找等操作,暫不存在技術(shù)問(wèn)題。</p>
30、<p> 2.1.3 操作可行性</p><p> 系統(tǒng)采用菜單式,實(shí)現(xiàn)用戶與數(shù)據(jù)庫(kù)的交互、界面簡(jiǎn)潔友好、操作方便。用戶只需對(duì)訂票流程和業(yè)務(wù)調(diào)查了解即可,不需掌握數(shù)據(jù)庫(kù)等相關(guān)知識(shí)。</p><p><b> 2.2 需求分析</b></p><p> 需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對(duì)訂票系統(tǒng)的應(yīng)用情況作全面調(diào)
31、查,以確定系統(tǒng)目標(biāo),并對(duì)系統(tǒng)所需要的基礎(chǔ)數(shù)據(jù)以及數(shù)據(jù)處理要求進(jìn)行分析,從而確定用戶的需求。用戶對(duì)系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。</p><p> 2.2.1 功能需求</p><p> 系統(tǒng)的輸入顯示信息都在jsp頁(yè)面中[7] [8] [9] [10],網(wǎng)上訂票系統(tǒng)中應(yīng)該具備如下功能:</p><p><b> 后臺(tái)模塊:</b>
32、</p><p> 登錄:管理員通過(guò)輸入自己正確的用戶名、密碼以及驗(yàn)證碼登入到后臺(tái)管理系統(tǒng),若登錄失敗,將會(huì)給出錯(cuò)誤提示并在3秒鐘內(nèi)跳轉(zhuǎn)到登陸界面。</p><p><b> 2.管理員信息管理</b></p><p> 管理員成功登錄到后臺(tái)管理頁(yè)面之后可以通關(guān)管理員信息管理模塊修改自己的用戶名和密碼信息,并將修改后的信息保存到數(shù)據(jù)庫(kù)中。
33、</p><p><b> 3.車(chē)次信息管理</b></p><p> ①添加車(chē)次信息:管理員成功登錄到后臺(tái)管理頁(yè)面之后可以批量的添加車(chē)次信息車(chē)次信息包括:車(chē)次編號(hào)、始發(fā)站、終點(diǎn)站、出發(fā)時(shí)間、到達(dá)時(shí)間、 到達(dá)時(shí)間、硬座剩余票、硬座價(jià)格、臥鋪剩余票、臥鋪價(jià)格。這些信息是必須填寫(xiě)的。</p><p> ②車(chē)次信息查詢:管理員可以通過(guò)動(dòng)態(tài)條件查
34、詢相應(yīng)的車(chē)次信息,查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。</p><p> ?、圮?chē)次信息修改:管理員可以通過(guò)動(dòng)態(tài)條件查詢相應(yīng)的車(chē)次信息,在查詢結(jié)果中選中要進(jìn)行修改的車(chē)次信息進(jìn)行修改。</p><p> ?、苘?chē)次信息刪除:管理員可以通過(guò)動(dòng)態(tài)條件查詢相應(yīng)的車(chē)次信息,在查詢結(jié)果中選中要進(jìn)行修改的車(chē)次信息進(jìn)行刪除。</p><p><b> 4.訂單管理</b&g
35、t;</p><p> ?、儆唵涡畔⒉樵儯汗芾韱T可以通過(guò)動(dòng)態(tài)條件查詢相應(yīng)的車(chē)次信息,查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。</p><p> ②訂單信息修改:管理員可以通過(guò)動(dòng)態(tài)條件查詢相應(yīng)的訂單信息,在查詢結(jié)果中選中要進(jìn)行修改的訂單信息進(jìn)行修改。</p><p><b> 5.會(huì)員管理</b></p><p> ?、贂?huì)員信息
36、查詢:管理員可以通過(guò)動(dòng)態(tài)條件查詢相應(yīng)的會(huì)員信息,查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。</p><p> ?、跁?huì)員信息修改:管理員可以通過(guò)動(dòng)態(tài)條件查詢相應(yīng)的會(huì)員信息,在查詢結(jié)果中選中要進(jìn)行修改的會(huì)員信息進(jìn)行修改。</p><p><b> 前臺(tái)模塊:</b></p><p><b> 1.會(huì)員注冊(cè)</b></p>
37、<p> 會(huì)員在進(jìn)入火車(chē)票預(yù)訂網(wǎng)站之后可通過(guò)會(huì)員注冊(cè)模塊進(jìn)行注冊(cè)。</p><p><b> 2.會(huì)員登錄</b></p><p> 會(huì)員通過(guò)自己注冊(cè)的用戶名和密碼進(jìn)行登錄火車(chē)票預(yù)訂網(wǎng)站,若會(huì)員沒(méi)有注冊(cè)或者登錄失敗將只能查詢火車(chē)票的相關(guān)信息,但是不能進(jìn)行預(yù)訂的活動(dòng)。</p><p><b> 3.車(chē)票信息查詢<
38、;/b></p><p> 分為對(duì)車(chē)次信息的查詢和客戶對(duì)已訂車(chē)票信息的查詢,要求:</p><p> ①對(duì)車(chē)次的查詢,可以按照車(chē)次編號(hào)、始發(fā)站、終點(diǎn)站、出發(fā)時(shí)間進(jìn)行查詢,結(jié)果以分頁(yè)形式展現(xiàn)給用戶。</p><p> ?、谲?chē)次信息包括:車(chē)次編號(hào)、始發(fā)站、終點(diǎn)站、發(fā)車(chē)時(shí)間、到達(dá)時(shí)間、剩余票數(shù),票價(jià)。</p><p> ?、圮?chē)次信息只允許
39、用戶查詢,不能修改。</p><p> ?、苡唵涡畔⒉樵儯嚎梢园凑兆值纳矸葑C號(hào)、訂票的起始時(shí)間等動(dòng)態(tài)條件進(jìn)行查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。</p><p><b> 4.訂票</b></p><p> 通過(guò)查詢系統(tǒng),客戶根據(jù)自己的需求找到滿意的車(chē)次,再輸入個(gè)人信息后直接通過(guò)網(wǎng)上訂票確定已預(yù)訂選中的車(chē)票,要求:</p><
40、p> 訂票記錄應(yīng)包括:姓名、手機(jī)號(hào)、身份證號(hào)、車(chē)次編號(hào)、出發(fā)時(shí)間、票類型、總價(jià)、座位類型、訂購(gòu)日期。</p><p><b> 5.退票</b></p><p> 可退票,通過(guò)查詢系統(tǒng),客戶可以根據(jù)自己的身份證,或者訂票起始時(shí)間找到自己的訂單信息,通過(guò)點(diǎn)擊退票退去已購(gòu)車(chē)票。</p><p> 2.2.2 數(shù)據(jù)需求</p&g
41、t;<p> 信息需求,即在系統(tǒng)中需要處理哪些數(shù)據(jù)。本系統(tǒng)的信息需求如表2.1所示。</p><p> 表2.1 信息輸入輸出</p><p> 2.2.3 性能需求</p><p> 為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,本系統(tǒng)應(yīng)該滿足以下的性能需求。</p><p><b> 1.準(zhǔn)確性和
42、及時(shí)性</b></p><p> 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。系統(tǒng)應(yīng)能及時(shí)而且準(zhǔn)確的根據(jù)用戶權(quán)限及所輸入的信息做出響應(yīng)。由于本系統(tǒng)的查詢功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,而車(chē)票的數(shù)量和時(shí)間又影響用戶的決策活動(dòng),其準(zhǔn)確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。</p><p>
43、;<b> 2.易用性</b></p><p> 本系統(tǒng)是直接面對(duì)用戶的,而用戶往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面,從而保證系統(tǒng)的易用性。</p><p><b> 3.安全性</b></p><p>
44、 網(wǎng)上訂票系統(tǒng)中涉及到的數(shù)據(jù)是客運(yùn)公司相當(dāng)重要的信息,系統(tǒng)要保證用戶的權(quán)限,對(duì)于車(chē)次等信息用戶只享有查詢服務(wù),不得更改。系統(tǒng)還要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)備份、日常安全管理、以及系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。同時(shí)系統(tǒng)還要保證對(duì)數(shù)據(jù)庫(kù)進(jìn)行及時(shí)更新,保證數(shù)據(jù)一致性。</p><p> 2.2.4 數(shù)據(jù)流圖</p><p> 1)火車(chē)票咋先預(yù)訂管理系統(tǒng)后臺(tái)數(shù)據(jù)流圖:</
45、p><p> 圖2.1 后臺(tái)數(shù)據(jù)流圖</p><p> 2)火車(chē)票在線預(yù)訂管理系統(tǒng)前臺(tái)數(shù)據(jù)流圖:</p><p> 圖2.2 前臺(tái)數(shù)據(jù)流圖</p><p> 2.2.5 數(shù)據(jù)字典</p><p> 表2.2管理員信息數(shù)據(jù)字典</p><p> 表2.3會(huì)員信息數(shù)據(jù)字典</p>
46、;<p> 表2.4 車(chē)次信息數(shù)據(jù)字典</p><p> 表2.5 訂票信息數(shù)據(jù)字典</p><p> 表2.6 車(chē)票信息數(shù)據(jù)字典</p><p> 2.2.6 實(shí)體-聯(lián)系圖</p><p> 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。</p>
47、<p> 針對(duì)火車(chē)站網(wǎng)上訂票系統(tǒng),通過(guò)對(duì)網(wǎng)上訂票工作的過(guò)程、內(nèi)容以及數(shù)據(jù)流程分析,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> 1.車(chē)次信息:車(chē)號(hào)、出發(fā)地、目的地、發(fā)車(chē)時(shí)間、到達(dá)時(shí)間、座位類型剩余票、票價(jià)。</p><p> 2.訂票記錄:訂單號(hào)、用戶名、身份證號(hào)、電話、車(chē)號(hào)、出發(fā)時(shí)間、車(chē)票類型、訂購(gòu)日期、座位類型、總價(jià)。</p><p>
48、 3.車(chē)票信息:座位號(hào)、車(chē)號(hào)、用戶名、身份證號(hào)、座位類型、車(chē)票類型、價(jià)格、出發(fā)時(shí)間。</p><p> 4.管理員信息:編號(hào)、姓名、性別、電話、密碼。</p><p> 5.會(huì)員信息:身份證號(hào)、姓名、性別、電話、密碼、注冊(cè)時(shí)間。</p><p> E-R圖如圖2.2所示:</p><p> 圖 2.3 實(shí)體-聯(lián)系圖(ER圖)<
49、/p><p> 2.2.7 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)</p><p> 火車(chē)站網(wǎng)上訂票系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如表2.7至表2.11所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表[11],其中在會(huì)員信息表以及管理員信息表中為了信息不被泄露分別對(duì)密碼字段進(jìn)行了加密處理。在處理過(guò)程中為了處理用戶訂票的并發(fā)問(wèn)題是用了行級(jí)鎖來(lái)解決這一問(wèn)題。</p><p> 表2.7 車(chē)次信息表tb
50、_train</p><p> 表2.8 訂單表tb_order</p><p> 表2.9 火車(chē)票信息表tb_ticket</p><p> 表2.10 管理員表tb_admin</p><p> 表2.11 會(huì)員表tb_user</p><p> 3 系統(tǒng)的總體設(shè)計(jì)</p><p&g
51、t; 3.1 系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)</p><p> 3.1.1 軟件結(jié)構(gòu)</p><p> 1)后臺(tái)分為管理員信息管理、車(chē)次信息管理、訂單信息管理、會(huì)員信息管理四個(gè)模塊。其層次圖[13]如圖3.1所示:</p><p> 圖3.1 火車(chē)票預(yù)訂后臺(tái)管理系統(tǒng)的層次圖</p><p> 2)前臺(tái)可劃分為查詢、訂票、退票三個(gè)部分。其中信息
52、查詢又可分為車(chē)次查詢和訂單查詢兩個(gè)部分。其層次圖如圖3.2所示:</p><p> 圖3.2 火車(chē)站預(yù)訂前臺(tái)系統(tǒng)的層次圖</p><p> 3.2 系統(tǒng)流程圖</p><p> 1)后臺(tái)頂層數(shù)據(jù)流程圖[14]如下圖3.3所示:</p><p> 圖3.3 后臺(tái)頂層數(shù)據(jù)流程圖</p><p> 車(chē)次,訂單,會(huì)
53、員的查詢系統(tǒng)流程圖大致一致,所以歸納如下:</p><p> 圖3.4 后臺(tái)數(shù)據(jù)查詢流程圖</p><p> 車(chē)次,訂單,會(huì)員的更新系統(tǒng)流程圖大致一致,所以歸納如下:</p><p> 圖3.4 后臺(tái)數(shù)據(jù)更新流程圖</p><p> 2)前臺(tái)頂層流程圖如下圖3.5所示。圖3.5至圖3.9為各模塊詳細(xì)系統(tǒng)流程圖。</p>
54、<p> 圖3.5頂層系統(tǒng)流程</p><p> 圖3.6 查詢車(chē)次信息流程圖</p><p> 圖3.6車(chē)次,訂單信息查詢系統(tǒng)流程圖大致一致,用戶通過(guò)輸入查詢條件進(jìn)行查詢車(chē)次信息和自己的訂單信息所以歸納如下:</p><p> 圖3.7 車(chē)次,訂單信息查詢系統(tǒng)流程圖</p><p> 用戶成功登陸之后根據(jù)動(dòng)態(tài)查詢條件查找
55、到自己需求的車(chē)票后通過(guò)輸入正確的信息進(jìn)行訂票,系統(tǒng)會(huì)將訂票成功與否的信息反饋給用戶。</p><p> 圖3.8 用戶訂票流程圖</p><p> 用戶成功登陸之后根據(jù)動(dòng)態(tài)查詢條件查詢條件查詢到自己的訂單之后可以進(jìn)行退票操作,系統(tǒng)會(huì)將用戶退票成功或失敗的信息反饋給用戶。</p><p> 圖3.9 退票系統(tǒng)流程圖</p><p> 4
56、 系統(tǒng)的詳細(xì)設(shè)計(jì)</p><p><b> 4.1 接口設(shè)計(jì)</b></p><p> 4.1.1 用戶接口</p><p> 用戶通過(guò)界面接口實(shí)現(xiàn)參數(shù)的輸入,進(jìn)入相應(yīng)的界面后輸入提示的信息即可產(chǎn)生相應(yīng)的任務(wù)。</p><p> 4.1.2 外部接口</p><p> 接口通過(guò)一
57、個(gè)數(shù)據(jù)轉(zhuǎn)換器,將網(wǎng)絡(luò)二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換為一個(gè)合適的數(shù)據(jù)結(jié)構(gòu)單位并添加到緩沖區(qū)中。</p><p> 4.1.3 內(nèi)部接口</p><p> 表4.1 內(nèi)部接口說(shuō)明表</p><p> 4.1.4 軟件接口</p><p> 本系統(tǒng)程序所使用的數(shù)據(jù)庫(kù)來(lái)源于主機(jī)數(shù)據(jù)庫(kù),所以系統(tǒng)數(shù)據(jù)與主機(jī)數(shù)據(jù)庫(kù)數(shù)據(jù)向一致。</p><
58、p> 4.1.5 模塊內(nèi)部</p><p> 模塊以接受參數(shù)方式獨(dú)立登陸主機(jī)數(shù)據(jù)庫(kù)并且獨(dú)立運(yùn)行,返回?cái)?shù)據(jù)顯示在界面上。</p><p><b> 4.2 過(guò)程設(shè)計(jì)</b></p><p> 4.2.1 程序流程圖</p><p> 1)管理員只有成功通過(guò)身份驗(yàn)證才能進(jìn)入后臺(tái)管理系統(tǒng)來(lái)管理各項(xiàng)信息,系
59、統(tǒng)會(huì)將操作的結(jié)果返回給管理員,圖4.1為火車(chē)票預(yù)訂后臺(tái)管理系統(tǒng)程序流程圖:</p><p> 圖4.1 火車(chē)票預(yù)訂后臺(tái)管理系統(tǒng)程序流程圖</p><p> 2)沒(méi)有注冊(cè)的用戶只能查詢火車(chē)余票,注冊(cè)后的會(huì)員登陸之后可以預(yù)定滿足自己要求的火車(chē)票,同時(shí)還能根據(jù)條件查詢自己的訂單和退票操作。圖4.1為火車(chē)票預(yù)訂前臺(tái)網(wǎng)站程序流程圖:</p><p> 圖4.2 火車(chē)票
60、預(yù)訂前臺(tái)網(wǎng)站程序流程圖</p><p> 5 系統(tǒng)的實(shí)現(xiàn)與調(diào)試</p><p> 5.1 應(yīng)用系統(tǒng)的開(kāi)發(fā)及測(cè)試</p><p> 為了保證測(cè)試的質(zhì)量,將測(cè)試過(guò)程分成幾個(gè)階段,即代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。 </p><p><b> ?。?)單元測(cè)試 </b></p><
61、;p> 單元測(cè)試[15]集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過(guò)測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說(shuō)明不符合的情況,以及編碼的錯(cuò)誤。 </p><p><b> (2)集成測(cè)試 </b></p><p> 集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來(lái)同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。例如一個(gè)模塊對(duì)另一個(gè)模塊可能由于疏忽的問(wèn)題而造成有害影響
62、;把子功能組合起來(lái)可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來(lái)是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。 </p><p><b> ?。?)確認(rèn)測(cè)試 </b></p><p> 確認(rèn)測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟
63、件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能是否如同用戶所合理期待的那樣。 </p><p><b> ?。?)系統(tǒng)測(cè)試 </b></p><p> 軟件開(kāi)發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試[16]、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。 </p><p> 單獨(dú)對(duì)系統(tǒng)的測(cè)試主要從以下幾方面入手:&l
64、t;/p><p> ① 功能測(cè)試:測(cè)試是否滿足開(kāi)發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測(cè)試是系統(tǒng)測(cè)試最常用和必須的測(cè)試,通常還會(huì)以正式的軟件說(shuō)明書(shū)為測(cè)試標(biāo)準(zhǔn)。</p><p> ?、?強(qiáng)度測(cè)試及性能測(cè)試[3]:測(cè)試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。</p><p> ③ 安全測(cè)試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能
65、夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對(duì)本系統(tǒng)主要是對(duì)權(quán)限系統(tǒng)的測(cè)試和對(duì)無(wú)效數(shù)據(jù)、錯(cuò)數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測(cè)試。</p><p> 經(jīng)過(guò)上述的測(cè)試過(guò)程對(duì)軟件進(jìn)行測(cè)試后,軟件基本滿足開(kāi)發(fā)的要求,測(cè)試宣告結(jié)束。 </p><p> 5.1.1 后臺(tái)管理系統(tǒng)運(yùn)行結(jié)果截圖</p><p> 1)后臺(tái)管理系統(tǒng)登陸界面,管理員必須輸入一次輸入正確的用戶名,密
66、碼和驗(yàn)證碼,驗(yàn)證通過(guò)之后才能進(jìn)入后臺(tái)管理系統(tǒng),否則給出出錯(cuò)提示跳轉(zhuǎn)到登陸界面由前臺(tái)的jsp頁(yè)面信息傳遞到struts[17]中的Action中進(jìn)行判斷處理,登錄頁(yè)面如圖5.1所示</p><p> 圖5.1 后臺(tái)登陸頁(yè)面</p><p> 管理員登錄的主要代碼如下:</p><p><b> /**</b></p><
67、p><b> * 管理員登陸</b></p><p><b> * </b></p><p> * @return success,error</p><p><b> */</b></p><p> public String adminLogin() {&l
68、t;/p><p> if (adminInfoDao.adminLogin(userName, passWord)) {</p><p> HttpServletRequest request = ServletActionContext.getRequest();</p><p> request.getSession().setAttribute("
69、userName", userName);</p><p> request.getSession().setAttribute("passWord", passWord);</p><p> if (request.getSession().getAttribute("rand").equals(verifycode))// 驗(yàn)證驗(yàn)證
70、碼正確與否</p><p> return SUCCESS;</p><p><b> else {</b></p><p> message = "登錄失敗,請(qǐng)檢查驗(yàn)證碼!";</p><p> return ERROR;</p><p><b> }&l
71、t;/b></p><p><b> } else {</b></p><p> message = "登錄失敗,請(qǐng)檢查用戶名和密碼!";</p><p> return ERROR;</p><p><b> }</b></p><p>&
72、lt;b> }</b></p><p> public boolean adminLogin(String adminName, String adminPassWord) {</p><p> jdbcTemplate = new JdbcTemplate(dataSource);</p><p> String sql = "
73、select adminPassWord from tb_admin where adminName='"</p><p> + adminName + "'";</p><p> List<AdminInfo> list = jdbcTemplate.query(sql, new AdminMapper());</p&g
74、t;<p> if (list != null) {</p><p> for (AdminInfo adminInfo : list) {</p><p> if (adminInfo.getAdminPassWord().equals(adminPassWord))</p><p> return true;</p><
75、p><b> }</b></p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> 2)后臺(tái)管理系統(tǒng)登錄失敗界面,如圖5.2所示:</p><p> 圖5
76、.2 后臺(tái)登陸失敗頁(yè)面</p><p> 3)系統(tǒng)后臺(tái)主要有管理車(chē)次信息、訂單信息、注冊(cè)會(huì)員信息,以及管理員修改自己的個(gè)人信息等功能。管理員只有經(jīng)過(guò)身份驗(yàn)證成功之后才能進(jìn)入后臺(tái)管理頁(yè)面,否則系統(tǒng)會(huì)提示你重新登錄。圖5.3為后臺(tái)管理系統(tǒng)的主界面。 </p><p> 圖5.3 系統(tǒng)主界面</p><p> 4)點(diǎn)擊增加車(chē)次信息按鈕進(jìn)行添加車(chē)次信息,可以批量添加車(chē)
77、次信息,在頁(yè)面中對(duì)輸入的信息進(jìn)行了驗(yàn)證[1],不能提交為空的數(shù)據(jù),可以添加多個(gè)車(chē)次信息,同時(shí)也可以減少車(chē)次信息提交的數(shù)量如圖5.4所示:</p><p> 圖5.4 添加車(chē)次信息頁(yè)面</p><p> 添加車(chē)次信息的主要代碼如下:</p><p><b> /**</b></p><p><b> *
78、添加車(chē)次信息</b></p><p><b> */</b></p><p> public boolean AddTrain(List<TrainInfo> trainInfo) {</p><p> jdbcTemplate = new JdbcTemplate(dataSource);</p>
79、<p> for (TrainInfo trainInfo2 : trainInfo) {</p><p> String sql="insert into tb_train( trainId,trainStartPlace,trainEndPlace,trainStartTime,"</p><p> + "trainEndTime,hard
80、SeatLeft, hardSeatPrice,softSeatLeft, </p><p> softSeatPrice)values(?,?,?,?,?,?,?,?,?)";</p><p> Object args[] = { trainInfo2.getTrainId(),</p><p> trainInfo2.getTrainStartP
81、lace(),</p><p> trainInfo2.getTrainEndPlace(),</p><p> trainInfo2.getTrainStartTime(),</p><p> trainInfo2.getTrainEndTime(), trainInfo2.getHardSeatLeft(),</p><p> t
82、rainInfo2.getHardSeatPrice(),</p><p> trainInfo2.getSoftSeatLeft(), trainInfo2.getSoftSeatPrice() };</p><p><b> try {</b></p><p> jdbcTemplate.update(sql, args);</
83、p><p> } catch (DataAccessException e) {</p><p> e.printStackTrace();</p><p> return false;</p><p><b> }</b></p><p><b> }</b><
84、/p><p> return true;</p><p><b> }</b></p><p> 5)查詢車(chē)次信息,可以進(jìn)行多條件進(jìn)行動(dòng)態(tài)條件查詢,以分頁(yè)形式展示給用戶,結(jié)果如圖5.5所示:</p><p> 圖5.5 查詢車(chē)次信息頁(yè)面</p><p> 查詢車(chē)次信息的主要代碼如下:<
85、/p><p><b> /**</b></p><p> * 動(dòng)態(tài)查找車(chē)次信息</p><p><b> */</b></p><p> @SuppressWarnings("unchecked")</p><p> public List<T
86、rainInfo> findTrain(String trainId, Date trainStartTime,</p><p> String trainStartPlace, int beginIndex, int pageSize) {</p><p> SimpleDateFormat format = new SimpleDateFormat("yyyy-MM
87、-dd ");</p><p> String date;</p><p> if (trainStartTime != null) {</p><p> date = format.format(trainStartTime);</p><p><b> } else</b></p>&
88、lt;p> date = "";</p><p> System.out.println(date);</p><p> boolean flags1 = false, flags2 = false;</p><p> jdbcTemplate = new JdbcTemplate(dataSource);</p>&
89、lt;p> String sql = "select * from tb_train ";</p><p> if (trainId != null && !"".equals(trainId.trim())) {</p><p> flags1 = true;</p><p> sql = sq
90、l + " where trainId='" + trainId + "'";</p><p><b> }</b></p><p> if (date != null && !"".equals(date.trim())) {</p><p>
91、flags2 = true;</p><p> if (flags1)</p><p> sql = sql + " and '" + date</p><p> + "'=DATE_FORMAT(trainStartTime,'%Y-%m-%d') ";</p><p
92、><b> else</b></p><p> sql = sql + " where '" + date</p><p> + "' =DATE_FORMAT(trainStartTime,'%Y-%m-%d') ";</p><p><b> }
93、</b></p><p> if (trainStartPlace != null && !"".equals(trainStartPlace.trim())) {</p><p> if (flags1 || flags2) {</p><p> sql = sql + " and trainStar
94、tPlace like '%" + trainStartPlace + "%'";</p><p><b> } else {</b></p><p> sql = sql + " where trainStartPlace like'%" + trainStartPlace + "
95、;%'";</p><p><b> }</b></p><p><b> }</b></p><p> sql += " limit " + beginIndex + "," + pageSize;</p><p> List<
96、;TrainInfo> list = jdbcTemplate.query(sql, new TrainMapper());</p><p> return list;</p><p><b> }</b></p><p> 查詢結(jié)果如圖5.6所示:</p><p> 圖5.6 查詢車(chē)次信息結(jié)果</p
97、><p> 點(diǎn)擊修改按鈕進(jìn)行修改車(chē)次信息,界面如圖5.7所示:</p><p> 圖5.7 修改車(chē)次信息頁(yè)面</p><p> 7)點(diǎn)擊訂單管理按鈕進(jìn)行查詢會(huì)員已經(jīng)預(yù)定的車(chē)票信息,界面如圖5.8所示:</p><p> 圖5.8 查詢訂單信息頁(yè)面</p><p> 查詢訂單的主要代碼如下:</p>
98、<p><b> /**</b></p><p> * 動(dòng)態(tài)查找訂單信息</p><p><b> */</b></p><p> @SuppressWarnings("unchecked")</p><p> public List<OrderInfo
99、> findOrder(String trainId, String ticketType,</p><p> Date bookTime, String seatType, String userId, int beginIndex,</p><p> int pageSize) {</p><p> SimpleDateFormat format =
100、 new SimpleDateFormat("yyyy-MM-dd");</p><p> String bookDate;</p><p> String sql = "select * from tb_order where 1=1 ";</p><p> jdbcTemplate = new JdbcTemplat
101、e(dataSource);</p><p> if (bookTime != null) {</p><p> bookDate = format.format(bookTime);</p><p><b> } else {</b></p><p> bookDate = "";</
102、p><p><b> }</b></p><p> if (trainId != null && !"".equals(trainId.trim())) {</p><p> sql = sql + "and trainId like'%" + trainId + "%
103、' ";</p><p><b> }</b></p><p> if (seatType != null && !"".equals(seatType.trim())) {</p><p> sql = sql + "and seatType='" + s
104、eatType + "' ";</p><p><b> }</b></p><p> if (bookDate != null && !"".equals(bookDate)) {</p><p> sql = sql + " and '" +
105、bookDate</p><p> + "'=DATE_FORMAT(bookTime,'%Y-%m-%d') ";</p><p><b> }</b></p><p> if (ticketType != null && !"".equals(ticket
106、Type)) {</p><p> sql = sql + "and ticketType='" + ticketType + "' ";</p><p><b> }</b></p><p> if (userId != null && !"".
107、equals(userId)) {</p><p> sql = sql + "and userId='" + userId + "' ";</p><p><b> }</b></p><p> sql += " limit " + beginIndex + &
108、quot;," + pageSize;</p><p> System.out.println(sql);</p><p> List<OrderInfo> list = jdbcTemplate.query(sql, new OrderMapper());</p><p> System.out.println(list);</p
109、><p> return list;</p><p><b> }</b></p><p> 查詢結(jié)果界面如圖5.9所示:</p><p> 圖5.9 訂單查詢結(jié)果</p><p> 點(diǎn)擊修改按鈕來(lái)修改訂單信息,界面如圖5.10所示:</p><p> 圖5.10
110、修改訂單信息頁(yè)面</p><p> 8)點(diǎn)擊會(huì)員管理按鈕進(jìn)行會(huì)員信息的查詢,界面如圖5.11所示:</p><p> 圖5.11 查詢會(huì)員信息頁(yè)面</p><p> 查詢注冊(cè)會(huì)員信息主要代碼如下:</p><p><b> /**</b></p><p> * 根據(jù)動(dòng)態(tài)條件查詢會(huì)員信息&
111、lt;/p><p><b> * </b></p><p> * @param vipInfo</p><p> * @return List<VipInfo> findVip</p><p><b> */</b></p><p> @SuppressWa
112、rnings("unchecked")</p><p> public List<VipInfo> findVip(VipInfo vipInfo) {</p><p> jdbcTemplate = new JdbcTemplate(dataSource);</p><p> SimpleDateFormat format =
113、 new SimpleDateFormat("yyyy-MM-dd");</p><p> String registerDate;</p><p> if (vipInfo.getRegisterTime() != null) {</p><p> registerDate = format.format(vipInfo.getRegis
114、terTime());</p><p><b> } else {</b></p><p> registerDate = "";</p><p><b> }</b></p><p> String sql = "select * from tb_vip wh
115、ere 1=1 ";</p><p> if (vipInfo.getUserName() != null</p><p> && !"".equals(vipInfo.getUserName().trim()))</p><p> sql = sql + " and userName like '
116、;%" + vipInfo.getUserName() + "%' ";</p><p> if (vipInfo.getUserSex() != null</p><p> && !"".equals(vipInfo.getUserSex().trim()))</p><p> sql
117、 = sql + " and userSex='" + vipInfo.getUserSex() + "' ";</p><p> if (vipInfo.getRegisterTime() != null</p><p> && !"".equals(vipInfo.getRegisterTi
118、me().toString().trim()))</p><p> sql = sql + " and '" + registerDate</p><p> + "'=DATE_FORMAT(registerTime,'%Y-%m-%d') ";</p><p> if (vipInfo.
119、getUserId() != null</p><p> && !"".equals(vipInfo.getUserId().trim()))</p><p> sql = sql + " and userId='" + vipInfo.getUserId() + "'";</p>
120、<p> System.out.println(sql);</p><p> list = jdbcTemplate.queryForList(sql);</p><p> return list;</p><p><b> }</b></p><p> 點(diǎn)擊查詢查看結(jié)果,界面如圖5.12所示:&l
121、t;/p><p> 圖5.12 會(huì)員信息顯示頁(yè)面</p><p> 點(diǎn)擊修改按鈕來(lái)修改會(huì)員的信息,界面如圖5.13所示:</p><p> 圖5.13 修改會(huì)員信息頁(yè)面</p><p> 5.1.2 前臺(tái)訂票網(wǎng)站運(yùn)行截圖</p><p> 1)本系統(tǒng)設(shè)計(jì)要求用戶通過(guò)登錄框選擇訪問(wèn)權(quán)限,登錄系統(tǒng)。其中,用戶須輸入
122、用戶名和密碼,以進(jìn)入系統(tǒng)。未使用過(guò)本系統(tǒng)的用戶選擇注冊(cè)會(huì)員,系統(tǒng)自動(dòng)跳轉(zhuǎn)至主界面。系統(tǒng)用戶權(quán)限登錄訪問(wèn)時(shí),車(chē)次信息查詢、訂票信息查詢、訂票、退票等功能均可用。系統(tǒng)用戶輸入正確的用戶名和密碼,訪問(wèn)系統(tǒng),得到其相應(yīng)的權(quán)限。沒(méi)有注冊(cè)的用戶可以查詢但不可以預(yù)訂和查詢訂單操作,訂票如圖5.14。</p><p> 圖5.14 登陸界面 </p><p> 2)當(dāng)用戶的用戶名或者密碼錯(cuò)誤時(shí)將
123、跳轉(zhuǎn)到錯(cuò)誤提示頁(yè)面,并且三秒鐘之后會(huì)跳轉(zhuǎn)到主頁(yè)面中,登錄失敗界面如圖5.15所示:</p><p> 圖5.15 登錄失敗界面</p><p> 3)會(huì)員必須填寫(xiě)姓名,身份證號(hào),性別,密碼以及手機(jī)號(hào)碼進(jìn)行注冊(cè),如果不填寫(xiě)相關(guān)內(nèi)容或者填寫(xiě)的格式不正確提交的話將會(huì)有提示框來(lái)提示用戶重新注冊(cè)。注冊(cè)頁(yè)面如圖5.16所示:</p><p> 圖5.16 注冊(cè)頁(yè)面<
124、/p><p> 會(huì)員注冊(cè)主要代碼如下:</p><p> 4)前臺(tái)預(yù)訂網(wǎng)站主界面,用戶可以進(jìn)行查詢火車(chē)余票信息,可以登錄之后進(jìn)行訂票,查詢訂單,退票等操作,也可以注冊(cè)會(huì)員。用戶如果沒(méi)有注冊(cè)會(huì)員,那么該用戶就只能進(jìn)行查詢相應(yīng)的火車(chē)票余票信息而不能進(jìn)行預(yù)訂車(chē)票、查詢訂單、退票操作。注冊(cè)成功后的會(huì)員不僅可以查詢火車(chē)余票,而且可以預(yù)訂滿足自己要求的火車(chē)票,還能查詢自己的訂單以及選擇退票操作。在用戶
125、注冊(cè)的過(guò)程中都進(jìn)行了前后臺(tái)驗(yàn)證處理。如果用戶輸入的個(gè)人信息有誤,則系統(tǒng)會(huì)提示用戶的輸入信息有誤,然后跳轉(zhuǎn)到首頁(yè)中。用戶注冊(cè)成功之后會(huì)跳轉(zhuǎn)到首頁(yè)中,其用戶名會(huì)顯示在頁(yè)面中,圖5.17為前臺(tái)用戶注冊(cè)、登錄、查詢余票、預(yù)訂車(chē)票,以及退票操作的主界面。</p><p> 圖5.17 預(yù)訂網(wǎng)站主界面</p><p> 5)對(duì)車(chē)次信息的查詢,系統(tǒng)提供了車(chē)次信息,進(jìn)行精確的查詢,系統(tǒng)經(jīng)過(guò)檢索,返回符
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--火車(chē)票網(wǎng)上訂票系統(tǒng)
- 火車(chē)票在線訂購(gòu)系統(tǒng)-畢業(yè)論文
- 網(wǎng)上預(yù)訂火車(chē)票如何退票
- 火車(chē)票預(yù)訂竅門(mén)
- 火車(chē)票網(wǎng)上訂票系統(tǒng)畢業(yè)論文(含外文翻譯)
- 計(jì)算機(jī)畢業(yè)論文---網(wǎng)上火車(chē)票售票系統(tǒng)
- 畢業(yè)論文--基于java的火車(chē)票售票系統(tǒng)
- 火車(chē)票訂票系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 火車(chē)票訂票系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 火車(chē)票在線訂購(gòu)系統(tǒng)開(kāi)題報(bào)告
- 火車(chē)票售票管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 火車(chē)票訂票系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 火車(chē)票售票管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 課程設(shè)計(jì)---火車(chē)票網(wǎng)上售票系統(tǒng)
- 火車(chē)票網(wǎng)上預(yù)售系統(tǒng)課程設(shè)計(jì)
- 火車(chē)票訂票系統(tǒng)畢業(yè)設(shè)計(jì)報(bào)告 火車(chē)票訂票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 12306火車(chē)票網(wǎng)上訂票系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 火車(chē)票訂票管理系統(tǒng)++設(shè)計(jì)報(bào)告
- 火車(chē)票管理系統(tǒng)課程設(shè)計(jì)
- 火車(chē)票訂票管理系統(tǒng)++設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論