長途汽車信息管理系統(tǒng)的設計與實現(xiàn)樣本_第1頁
長途汽車信息管理系統(tǒng)的設計與實現(xiàn)樣本_第2頁
長途汽車信息管理系統(tǒng)的設計與實現(xiàn)樣本_第3頁
長途汽車信息管理系統(tǒng)的設計與實現(xiàn)樣本_第4頁
長途汽車信息管理系統(tǒng)的設計與實現(xiàn)樣本_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、緒論1、引言1.1設計目在信息技術(shù)高度發(fā)達今天,老式手工記錄客運站信息,已滿足不了正常需求。如何是管理員人以便解決這些信息,減少她們工作量是一種需要解決額問題。借助計算機來完畢這些大量冗雜工作。能大大減少管理員工作強度。這里開發(fā)一長途客運站班車信息管理系統(tǒng),旨在為客運信息管理員提供一種可行法案。通過運用計算機上程序,按規(guī)范管理長途客運信息。以便查詢班車線路狀況、各個班次售票狀況,以及每個班次班車信息。方遍管理員查詢,及修改長途汽車線路信息,汽車信息,和車票信息。將錄入操作交給電腦來完畢。這樣既能減少管理員工作量還能滿足日益增長需求。也借以闡明計算機技術(shù)在當今世界發(fā)展中重要地位和科技創(chuàng)新重要意義。1.2項目背景本程序開發(fā)課題為“某長途客運站信息管理系統(tǒng)”。重要使用軟件有Jcreator、jdk1.7和Tomcat6.0。使用軟件工程設計思路,來開發(fā)一套使用軟件。從分析顧客需求開始、模塊劃分、建立數(shù)據(jù)庫、代碼設計、調(diào)試最后完畢。重要針對使用者時客運信息管理員(負責本客運站線路加減以及售票)。由于本程序有些功能善待完善,局限性之處請見諒。2、任務描述2.1目的本次程序設計應實現(xiàn)長途客運管理系統(tǒng)基本功能,并達到一定健壯性和安全性。目的涉及,客運汽車信息管理(新進車輛都錄入涉及車牌號,汽車編號,以及最大載客量和負責該車司機師傅)。線路信息管理(新增運營線路錄入線路號,始末站點,發(fā)車時間等信息)。售票信息查詢以及管理員信息管理系統(tǒng)。除此之外,對查詢優(yōu)化解決也是必要,這樣可以提高運營效率。2.2運營環(huán)境軟件環(huán)境:操作系統(tǒng):Win7開發(fā)工具:Tomcat6.0jdk1.7Jreator使用編程語言:Java3、數(shù)據(jù)描述3.1輸入數(shù)據(jù)1)添加車輛:車輛編號、載客量、車牌號、司機。車輛編號:為3為數(shù)字載客量:為(50-100)數(shù)字車牌號:為國內(nèi)原則車牌號如(冀BT00001)司機:姓名(varchar(20))2)添加線路信息:線路號、始發(fā)站、終點站、車輛編號、發(fā)車日期、發(fā)車時間、耗時和票價。線路號:L+(3為數(shù)值)始發(fā)站和終點站:都市名稱(varchar(20))車輛編號:為3為數(shù)字(且存在于數(shù)據(jù)庫內(nèi))發(fā)車日期:格式為/12/23發(fā)車時間:小時:分鐘(如9:00)。小時(0-24),分鐘(0-60)。耗時:小時:分鐘(如9:00)。小時(不不大于0),分鐘(0-60)。票價:不不大于零整數(shù)3)添加管理員信息:賬號和密碼賬號:長度20以內(nèi)字符(varchar(20))密碼:長度20以內(nèi)字符(varcha(20))3.2輸出數(shù)據(jù)1)查詢既有車輛:車輛編號、載客量、車牌號、司機。2)查詢既有線路信息:線路號、始發(fā)站、終點站、車輛編號、發(fā)車日期、發(fā)車時間、耗時和票價。3)查詢售票狀況:線路號、總票數(shù)、余票。4)查詢既有管理員信息:賬號和密碼。4、功能規(guī)定顧客提出及普通軟件都應具備功能(如輸入、輸出、修改、查詢等)通過對顧客反饋需求進行分析本系統(tǒng)具備如下功能:1)汽車信息管理管理員可以在汽車信息管理模塊對汽車信息進行管理,管理員可以添加、修改和刪除本客運站汽車信息。該模塊還可以查看既有汽車信息。2)線路信息管理管理員可以在線路信息管理模塊對線路信息進行管理,管理員可以添加、修改和刪除本客運站運營線路。線路信息涉及:出發(fā)站、目地、發(fā)車時間、以及運營該線路汽車班次號。這里汽車必要是數(shù)據(jù)庫已經(jīng)存在汽車。3)車票信息管理該模塊記錄各個班次售票狀況,涉及總票數(shù),和余票狀況。4)管理員信息管理該模塊可以添加新管理員,以及顯示已有管理員信息。 二、需求分析1、需求調(diào)查1.1組織機構(gòu)調(diào)查長途客運站長途客運站長途運送公司公路管理局公路運送管理交通局圖1組織機構(gòu)圖圖1組織機構(gòu)圖本程序是為長途客運站開發(fā),使用對象是客運站管理員。重要負責錄入新車,添加新運營線路以及售票。1.2業(yè)務需求調(diào)查1)登入驗證選取業(yè)務長途汽車管理系統(tǒng)自動顯示車輛信息車輛信息添加、刪除選取業(yè)務長途汽車管理系統(tǒng)自動顯示車輛信息車輛信息添加、刪除車輛修改車輛信息線路信息自動顯示線路信息線路線路信息添加、刪除車輛管理員信息售票信息顯示售票狀況顯示管理員信息修改管理員信息添加、刪除車輛 2)業(yè)務管理如圖:圖2整體業(yè)務流程圖圖2整體業(yè)務流程圖1.3對軟件系統(tǒng)規(guī)定調(diào)查對本次管理系統(tǒng)樣例規(guī)定有:1)存在管理員,只有通過驗證才干進入系統(tǒng)。2)可以添加新管理員。3)可以錄入新車輛信息。4)可以開通運營新線路。5)可以查詢售票狀況,訂票。6)預留更新接口以添加新功能。2、功能需求2.1功能劃分程序重要涉及登入界面和操作界面,登入界面用來對管理員進行身份驗證,只有在數(shù)據(jù)庫中管理員才容許進入操作界面。操作界面涉及:汽車信息管理、線路信息管理、車票信息管理和管理員信息管理。管理員通過登陸界面驗證之后進入操作界面后,可以查詢可添加車輛信息、線路信息和售票信息。線路信息包括:線路號(即車次)、始發(fā)站、終點站、發(fā)車日期、發(fā)車時間、耗時,同步還會顯示該線路余票以及票價(票售完不顯示)。容許進行訂票。車輛信息重要涉及:大巴車編號、最大載客量、車牌號以及駕駛員。售票信息:線路號、該線路總票數(shù)、余票。管理員信息:既有管理員賬號信息。2.2功能描述顧客提出及普通軟件都應具備功能(如輸入、輸出、修改、查詢等)通過對顧客反饋需求進行分析本系統(tǒng)具備如下功能:1)汽車信息管理管理員可以在汽車信息管理模塊對汽車信息進行管理,管理員可以添加、修改和刪除本客運站汽車信息。該模塊還可以查看既有汽車信息。2)線路信息管理管理員可以在線路信息管理模塊對線路信息進行管理,管理員可以添加、修改和刪除本客運站運營線路。線路信息涉及:出發(fā)站、目地、發(fā)車時間、以及運營該線路汽車班次號。這里汽車必要是數(shù)據(jù)庫已經(jīng)存在汽車。3)車票信息管理該模塊記錄各個班次售票狀況,涉及總票數(shù),和余票狀況。4)管理員信息管理該模塊顯示既有管理員信息。

如下為實現(xiàn)功能數(shù)據(jù)流圖: 圖3數(shù)據(jù)流程圖圖3數(shù)據(jù)流程圖3、數(shù)據(jù)描述3.1數(shù)據(jù)描述1)車輛信息:車輛編號、載客量、車牌號、司機。2)線路信息:線路號、始發(fā)站、終點站、車輛編號、發(fā)車日期、發(fā)車時間、耗時和票價。3)售票信息:線路號、總票數(shù)、余票、票價。4)添加管理員信息:賬號和密碼。 3.2數(shù)據(jù)庫描述在對業(yè)務流程圖和數(shù)據(jù)流程圖進行詳細分析基本上,找出其中實體有管理員、線路、車輛、線路車票,依照各個實體屬性以及她們之間聯(lián)系。有E-R圖描述實體及實體之間關系(關系E-R圖如下)載客數(shù)載客數(shù)汽車號汽車車牌號始發(fā)站線路號目地汽車號線路發(fā)車時間管理管理管理系統(tǒng)管理員密碼賬號車票總票數(shù)線路票號線路號余票圖3實體聯(lián)系E-R圖3.3數(shù)據(jù)詞典1)車輛信息車輛編號:長度為3個字符規(guī)定字符為數(shù)字(0-9),如“001”。 載客量:整形規(guī)定(30-100)數(shù)。 車牌號:省份簡稱+市屬車號字母(大寫26個字母,O除外)+5位字符 字符可以是(0-9)數(shù)值也可以是(大寫26個字母,O除外)。 司機姓名:長度為20個字符,可以不寫滿。2)線路信息 線路號:大寫字母L+長度為3個字符規(guī)定字符為數(shù)字(0-9),如“001”。 始發(fā)站:都市名稱,長度為20個字符,可以不寫滿。 終點站:都市名稱,長度為20個字符,可以不寫滿。 發(fā)車日期:長度為10字符串,規(guī)定年份+”/”+月+“/”+日。 年份:四位數(shù)字字符,規(guī)定不不大于等于當前年份 月:兩位字符1-12,不滿兩位前面補“0“日:兩位字符1-31,不滿兩位前面補“0“,注意某些月份,如2,4,6,9,11不滿31天。發(fā)車時間:長度為5字符串,規(guī)定小時+“:“+分鐘。 小時:兩位字符0-24,不滿兩位前面補“0“分鐘:兩位字符0-60,不滿兩位前面補“0“ 耗時:長度為5字符串,規(guī)定小時+“:“+分鐘。 小時:兩位字符不不大于等于0,不滿兩位前面補“0“分鐘:兩位字符0-60,不滿兩位前面補“0“大巴編號:參照車輛信息3)售票信息線路號:參照車輛信息??偲睌?shù):依照線路號查到車輛編號,繼而查到載客量。余票:整形不不大于等于0,不大于等于總票數(shù)票價:整形不不大于04)管理員信息賬號:長度為20個字符,可以不寫滿。密碼:長度為20個字符,可以不寫滿。4、性能需求4.1數(shù)據(jù)精準度1)查詢時保證查全率,所有在相應域中與查詢核心字相符記錄都應能查到;2)查詢時保證查準率,所有查詢記錄都是但愿值。3)修改記錄同步,不浮現(xiàn)一方有時令一方?jīng)]有狀況。4.2時間特性1)小型庫中查詢、修改等操作響應時間應控制在0.5秒鐘以內(nèi);2)增長數(shù)據(jù)量時也應將響應時間控制在2秒以內(nèi);3)當數(shù)據(jù)多至超過響應時間時,應提供更新以控制響應時間。4.3適應性1)滿足運營環(huán)境在容許操作系統(tǒng)之間安全轉(zhuǎn)換規(guī)定;2)滿足與其她應用軟件不沖突獨立運營規(guī)定。5、運營需求5.1顧客界面1)屏幕格式:多窗口運營,采用B/S,使用Jcreator和jdk1.7制作,完全兼容Windows平臺。2)報表格式:符合打印規(guī)定,與常規(guī)打印機接口匹配。3)菜單格式:采用選項菜單等方式。5.2硬件接口1)需要10M以上LAN接入網(wǎng)絡寬帶。2)需要P43.0GXeonCPU/1G內(nèi)存/360G(10K)SCSI硬盤服務器。5.3軟件接口1)運營于Windows操作系統(tǒng)之上;2)需要連接小型數(shù)據(jù)庫Access和系統(tǒng)類庫,使用Tomcat服務器。5.4故障解決1)顧客輸入錯誤格式時應予以改正提示;2)數(shù)據(jù)庫更改錯誤時應自行緩和關閉并重啟;3)若運營時遇到不可恢復系統(tǒng)錯誤時,應保證數(shù)據(jù)庫完好無損;4)其他故障問題可與開發(fā)人員聯(lián)系。5.5基本規(guī)定綜上可知,基本規(guī)定如下:1)體系構(gòu)造:B/S2)操作系統(tǒng):Windows系列3)數(shù)據(jù)庫管理系統(tǒng):小型數(shù)據(jù)庫Access4)開發(fā)工具:Jcreator、jdk1.7、Tomcat6.05)軟件需求:操作系統(tǒng)WindowsAdvanceServer以上,數(shù)據(jù)庫軟件MicrosoftAcccess,數(shù)據(jù)庫服務器端軟件Tomcat6.06)硬件需求:P3以上微機(帶網(wǎng)卡)客戶機,10M以上LAN接入網(wǎng)絡帶寬,P43.0GXeonCPU/1G內(nèi)存/1T(10K)SCSI硬盤服務器。6、其她需求除了基本規(guī)定,還應當保證軟件安全性:1)提供管理員密碼保護、密碼修改功能;2)提供可靠軟件邏輯機制,減少外部侵入風險。

三、總體設計1、總體構(gòu)造和模塊設計依照業(yè)務流程圖與數(shù)據(jù)流程圖可畫出總體功能模塊構(gòu)造圖如下:售票信息查詢售票信息查詢既有管理員查詢管理員登入系統(tǒng)長途汽車管理系統(tǒng)售票信息查詢系統(tǒng)線路信息管理系統(tǒng)車輛信息管理系統(tǒng)管理員信息管理系統(tǒng)既有車輛信息管理添加新車添加新管理員既有運營線路查詢添加新運營線路圖4總體功能模塊構(gòu)造圖其中,重要涉及登陸模塊,車輛信息管理模塊,線路信息管理模塊,售票信息管理模塊和管理員信息管理模塊。車輛信息管理模塊下涉及輸入新車編號、載客量、車牌號、司機;而線路信息管理模塊下涉及增長新運營線路,該線路購票。售票信息管理模塊涉及顯示所有線路售票狀況。管理員信息管理模塊涉及既有管理員信息管理和增長新管理員功能。各個功能和模塊接口都如上圖所示。2、數(shù)據(jù)構(gòu)造設計各層次模塊數(shù)據(jù)構(gòu)造表如下:表1汽車信息表字段名稱數(shù)據(jù)類型必填字段主鍵busIDnChar(3)YYbusSizeIntYbusNumnChar(3)YbusDrivervarchar(20)Y表2線路信息表字段名稱數(shù)據(jù)類型必填字段主鍵外鍵lineIDnchar(4)YYstartvarchar(20)Yendvarchar(20)YDatenchar(10)YsTimenchar(5)YnTimenchar(5)YbusIdnchar(3)YY表3售票信息表字段名稱數(shù)據(jù)類型必填字段主鍵lineIDnchar(4)YYallNumIntYleftNumIntYpriceIntY表4管理員信息表字段名稱數(shù)據(jù)類型必填字段主鍵mIDvarchar(20)YYpwdvarchar(20)Y3、數(shù)據(jù)庫設計3.1邏輯設計數(shù)據(jù)庫關系模型如下:車輛(車輛號,載客量,車牌號,司機)線路(線路編號,始發(fā)站,終點站,發(fā)車日期,發(fā)車時間,耗時,車連編號)售票信息(線路編號,總票數(shù),余票)管理員(管理員賬號,密碼)3.2物理設計數(shù)據(jù)庫應存儲在服務器端,保證數(shù)據(jù)庫存儲空間在數(shù)據(jù)量3倍左右,以以便數(shù)據(jù)備份和數(shù)據(jù)恢復操作。4、外部接口設計4.1顧客界面顧客界面多為鏈接操作,插入和修改信息操作。背景采用淺藍色,文字采用黑色宋體字,查詢成果顯示在中間位置。4.2軟件接口實現(xiàn)google瀏覽器或者IE與ACCESS接口(通過Tomcat服務器)。4.3硬件接口由于存在大量數(shù)據(jù)備份問題和報表打印問題,需要連接磁帶機或備份用數(shù)據(jù)庫和打印機。5、出錯解決設計5.1出錯解決信息1)輸入格式錯誤,探出提示框顯示“請按照固定格式輸入信息”等字樣;2)程序數(shù)據(jù)基本錯誤,探出提示框顯示“系統(tǒng)數(shù)據(jù)錯誤”等字樣,并安全退出程序;3)程序嚴重錯誤,探出提示框顯示“請將問題發(fā)送至開發(fā)者郵箱”等字樣,并強行退出程序。5.2出錯解決對策1)輸入不合法錯誤,予以對的格式提示;2)由于程序?qū)е禄惧e誤,在保護數(shù)據(jù)庫安全狀況下退出程序并重新自啟動,再依照日記來恢復4)定期對數(shù)據(jù)庫進行備份;

四、詳細設計1、代碼設計服務器端:存儲數(shù)據(jù)庫,啟動服務器Tomcat,等待管理員那邊PC端祈求,依照祈求內(nèi)容查詢數(shù)據(jù)庫把查詢內(nèi)容傳回管理員PC端進行顯示。執(zhí)行一種祈求結(jié)束后繼續(xù)等待下一種祈求。管理員PC端:一方面要通過登陸界面驗證,輸入密碼顧客號檢查成功進入操作界面,所有操作以樹型構(gòu)造顯示界面左邊欄,數(shù)據(jù)顯示在右邊欄目中;點擊詳細操作鏈接點后會把接受到數(shù)據(jù)顯示在右邊欄目中。2、程序設計2.1模塊設計1)登錄模塊功能:管理員輸入密碼和顧客名點擊登入,服務器檢查密碼和顧客與否對的,對的則可以入操作界面。性能:以便快捷;相應速度快;界面和諧,帶有錯誤提示。輸入項目:賬號和密碼。輸出項目:跳到登入失敗或者進入操作界面。2)車輛信息管理功能:可以添加汽車信息,刪除汽車信息,修改汽車信息,查詢所有汽車信息。性能:以便快捷;相應速度快;界面和諧,帶有錯誤提示。輸入項目:汽車編號,載客量,車牌號,司機。輸出項目:保存添加或者修改后及時刷新界面顯示添加后數(shù)據(jù)。3)線路管理功能:可以添加路線,刪除路線,修改路線,顯示所有線路。性能:以便快捷;相應速度快;界面和諧,帶有錯誤提示。輸入項目:添加和修改涉及線路號、目地,出發(fā)地,出發(fā)時間,耗時,使用車輛編號。輸出項目:線路編號,目地,出發(fā)地,出發(fā)時間,行駛時間,余票。4)管理員信息管理:功能:可以添加和刪除新管理員。性能:以便快捷;相應速度快;界面和諧,帶有錯誤提示。輸入項目:添加和修改管理員賬號和密碼。輸出項目:既有管理員信息。2.2算法設計登陸某些:一方面輸入顧客號和密碼,進行驗證,連接服務器數(shù)據(jù)庫檢查輸入顧客名與否存在并且密碼與否對的,對的則可以操作,不對的顯示登入失敗。車輛信息管理:點擊汽車信息鏈接后會發(fā)送祈求數(shù)據(jù)庫獲取所有數(shù)據(jù)庫中汽車信息,并且再右邊欄目中進行顯示。輸入內(nèi)容點擊保存即可保存到數(shù)據(jù)庫中;如果修改則需要選中修改行進行修改后保存數(shù)據(jù)庫中。線路信息管理:點擊線路信息鏈接后會發(fā)送祈求數(shù)據(jù)庫獲取所有數(shù)據(jù)庫中線路信息,并且再右邊欄目中進行顯示。輸入內(nèi)容點擊保存即可保存到數(shù)據(jù)庫中;如果修改則需要選中修改行進行修改后保存數(shù)據(jù)庫中。管理員信息管理:點擊管理員信息鏈接后會發(fā)送祈求數(shù)據(jù)庫獲取所有數(shù)據(jù)庫中管理員信息,并且再右邊欄目中進行顯示。輸入內(nèi)容點擊保存即可保存到數(shù)據(jù)庫中;如果修改則需要選中修改行進行修改后保存數(shù)據(jù)庫中2.3程序邏輯1)登入界面 進入操作界面否進入操作界面否是開始輸入賬號和密碼驗證與否合法提示失敗結(jié)束圖5登入界面N-S圖

2)汽車信息管理、線路信息管理、管理員信息程序邏輯如下:圖5登入界面N-S圖 結(jié)束不合法結(jié)束不合法合法添加否開始獲取文本框信息從服務器獲取車輛信息存入服務器是檢查操作失敗合法檢查修改不合法獲取文本框信息操作失敗修改服務器是刪除有關所有記錄否讀取主鍵編號檢查與否存在刪除是失敗否是否圖6圖6汽車信息管理、線路信息管理、管理員信息N-S圖2.4接口軟件接口:在這里重要考慮軟件與操作系統(tǒng)接口,這里使用java語言開發(fā)。Jdk1.7具備較好跨平臺兼容性。除此之外,還要配備服務器端,啟動服務器程序Tomcat6.0,等待可無端祈求。建立連接后通過SQL語言Tomcat會自動完畢對數(shù)據(jù)庫操作。硬件接口:可用網(wǎng)絡鏈接,服務器端有較大硬盤容量,較好CPU來提高檢索速率。2.5測試要點由于開發(fā)軟件較小??梢試纻€測試錄入數(shù)據(jù)安全性。準備各種測試用例(實用軟件測試辦法)檢查系統(tǒng)健壯性。同步檢查形同日記,以及異常后數(shù)據(jù)庫能發(fā)保持完整性。

五、系統(tǒng)實現(xiàn)1登入界面設計login.jsplogin.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="java.lang.Math.*,sen.DBUtilbus"%><%!Stringmid="";Stringpwd="";booleanflag=false;%><% if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null)) {mid=newString(request.getParameter("mid").getBytes("ISO8859_1"),"GB2312");pwd=newString(request.getParameter("pwd").getBytes("ISO8859_1"),"GB2312");if(flag==true) { %> <jsp:forwardpage="fenp.jsp"/> <% }else { %> <jsp:forwardpage="loginfail.jsp"/> <% } } %><html><head></head><bodybackground="login.jpg"><formname=form1method="post"action="login.jsp">賬號:<inputsize="20"type="text"name="mid"></input></br>密碼:<inputsize="20"type="password"name="pwd"></input></br> <inputtype="submit"value="確認"></input><inputtype="button"value="關閉"onclick="window.opener=null;window.close();"/></form></body></html>2功能實現(xiàn)2.1數(shù)據(jù)庫鍵表運用ACCESS建立4張需要表:2.2界面設計標題標題功能選項顯示頁面添加處(售票信息缺此項) 圖7界面示意圖標題顯示:head.jsp功能選項顯示:left.jsp車輛信息:busifortop.jsp(包括添加處addbus.jsp和顯示處busIfor.jsp)線路信息:buslineif.jsp(包括添加處buslineiftop.jsp和顯示處busline.jsp)線路信息:saleticket.jsp管理員信息:manager.jsp(包括添加處managertop.jsp和顯示處managerbo.jsp)此外還建立了一種鏈接數(shù)據(jù)庫工具類DBUtilbus,一集一種接受祈求Severlet類來解決顧客祈求(如購票)。DBUtilbus類中實現(xiàn)了數(shù)據(jù)庫增刪改操作。ShopSeverlet類重要響應購票祈求。2.3代碼實現(xiàn)2.3.1數(shù)據(jù)連接工具類DBUtilbus.java代碼如下:publicclassDBUtilbus{ //登入驗證 publicstaticbooleanlogin(Stringmid,Stringpwd) { booleanflag=false; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*frommanager"); while(rs.next()) { Stringtemp1=rs.getString(1); Stringtemp2=rs.getString(2); System.out.println(temp1+""+temp2); if((temp1.equals(mid))&&(temp2.equals(pwd))) {flag=true; break; } } rs.close(); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } returnflag; } //開通新航線添加新票(被addLine調(diào)用) publicstaticvoidaddticket(StringlineID,StringbusID,intprice) { try{ intnum=0; Stringupdate_sql=""; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); update_sql="selectbusSizefrombuswherebusID="+"'"+busID+"'"; System.out.println(update_sql); ResultSetrs=st.executeQuery(update_sql); rs.next(); num=Integer.parseInt(rs.getString(1)); rs.close(); update_sql="insertintoticketvalues('"+lineID+"',"+num+","+num+","+price+")"; st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } } //添加新運營路線publicstaticvoidaddLine(StringlineID,Stringstart,Stringend,StringbusID,Stringdate,StringsTime,StringnTime,intprice) {try{addticket(lineID,busID,price);Stringupdate_sql="insertintolinevalues('"+lineID+"','"+start+"','"+end+"','"+busID+"','"+sTime+"','"+nTime+"','"+date+"')"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } } //添加車輛 publicstaticvoidaddbus(StringbusID,intbusSize,StringbusNum,StringbusDriver) { try{Stringupdate_sql="insertintobus values('"+busID+"',"+busSize+",'"+busNum+"','"+busDriver+"')"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} } //添加管理員 publicstaticvoidaddmanager(Stringmid,Stringpwd) { try{Stringupdate_sql="insertintomanagervalues('"+mid+"','"+pwd+"')"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } } publicstaticList<String[]>getLinet() {ArrayList<String[]>al=newArrayList<String[]>(); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("selectlineID,busID,start,end,Date,sTime,nTime,allNum,leftNum,pricefromticket,linewhereticket.tlineID=line.lineIDandticket.leftNum>0"); while(rs.next()) { String[]rows=newString[10]; for(inti=1;i<=10;i++) { rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } //獲取管理員信息 publicstaticList<String[]>getManager() { ArrayList<String[]>al=newArrayList<String[]>(); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*frommanager"); while(rs.next()) { String[]rows=newString[2]; for(inti=1;i<=2;i++) { rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } //獲取售票信息 publicstaticList<String[]>getSalet() { ArrayList<String[]>al=newArrayList<String[]>(); try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*fromticket"); while(rs.next()) { String[]rows=newString[3]; for(inti=1;i<=3;i++) {rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } //獲取車輛信息 publicstaticList<String[]>getBusIfor() { ArrayList<String[]>al=newArrayList<String[]>(); try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*frombus"); while(rs.next()) { String[]rows=newString[4]; for(inti=1;i<=4;i++) { rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } }2.2祈求接受類ShopSeverletpackagesen;importjavax.servlet.http.*;importjava.io.*;importjavax.servlet.*;importjava.util.*;importsen.DBUtilbus;publicclassShopServletextendsHttpServlet{ publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doPost(req,resp);}publicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{HttpSessionsession=req.getSession(true); resp.setContentType("text/html;charset=gbk"); Stringaction=req.getParameter("action"); System.out.println("action:"+action); if(action.equals("buy")) {Stringpid=req.getParameter("pid"); DBUtilbus.bus(pid); this.forward("busline.jsp",req,resp); }}publicvoidforward(Stringpath,HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{req.getRequestDispatcher("/"+path).include(req,resp);}}2.3操作界面2.3.1進入界面fenp.jsp<%@pagecontentType="text/html;charset=gbk"import="sen.DBUtilbus,java.util.*"%><html><head><title>長途汽車管理系統(tǒng)</title></head><framesetrows="10%,*"> <framescrolling="no"src="head.jsp"name="top"frameborder="1"> <framesetrows="*"cols="15%,*"framespacing="0"border="5"><framesrc="left.jsp"name="left"frameborder="1"><framesrc="busline.jsp"name="main"scrolling="auto"> </frameset></frameset></html>2.3.2標題界面head.jsp<%@pagecontentType="text/html;charset=gbk"%><html><head><title>head</title></head><body> <h1align="center"a><fontcolor=""size="">河北省長途汽車系統(tǒng)</font></h1></body></html>2.3.3功能選項left.jsp<%@pagecontentType="text/html;charset=gbk"import="wyf.DBUtil,java.util.*"%><html><head><title>商品列表</title></head><body><ahref="busifortop.jsp"target="main">汽車信息</a></br><ahref="buslineif.jsp"target="main">線路信息</a></br><ahref="saleticket.jsp"target="main">售票信息</a></br><ahref="manager.jsp"target="main">管理員信息</a></br></body></html>界面樣式如圖:2.3.4車輛信息車輛信息樣式如圖:businfor.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>車輛信息列表</title></head><body><%List<String[]>ll=DBUtilbus.getBusIfor();if(ll.size()==0){%><fontcolor="red"size="20">對不起當前沒有任何車輛信息?。?!</font><%}else{%><tablealign="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1"><caption><b>車輛信息列表</b></caption><tr><thbgcolor="d7d3d3">巴士號</th><thbgcolor="d7d3d3">載客量</th><thbgcolor="d7d3d3">車牌號</th><thbgcolor="d7d3d3">司機</th><thbgcolor="d7d3d3">刪除</th></tr><%intc=0;for(String[]sa:ll){StringcolorStr=(c%2==0)?"#fffefe":"#9ccdfe";c++;%><tr><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[0]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[1]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[2]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[3]%></td><tdalign="center"bgcolor="<%=colorStr%>"><ahref="ShopServlet?action=del2&&pid=<%=sa[0]%>">DEL</a></td></tr><%}%></table><formaction=""></form><%}%></body></html>addbus.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="java.lang.Math.*,sen.DBUtilbus"%><%!Stringbusid="";Stringnum="";StringbusNum="";Stringdriver="";%><%if((request.getParameter("busid")!=null)&&(request.getParameter("num")!=null)&&(request.getParameter("busNum")!=null)&&(request.getParameter("driver")!=null)) {busid=newString(request.getParameter("busid").getBytes("ISO8859_1"),"GB2312");num=newString(request.getParameter("num").getBytes("ISO8859_1"),"GB2312");busNum=newString(request.getParameter("busNum").getBytes("ISO8859_1"),"GB2312");drive=newString(request.getParameter("driver").getBytes("ISO8859_1"),"GB2312");intallNum=Integer.parseInt(num);DBUtilbus.addbus(busid,allNum,busNum,driver); }%><formname=form1method="post"action="addbus.jsp">巴士號:<inputsize="10"type="text"name="busid"></input>載客量:<inputsize="10"type="text"name="num"></input>車牌號號:<inputsize="10"type="text"name="busNum"></input>司機:<inputsize="10"type="text"name="driver"></input><inputid="b1"type="submit"value="提交"name="tijiao"></input> <inputid="b2"type="submit"value="修改"name="xiugai"></input></form></body></html>2.3.5線路信息線路信息界面樣式如圖:busline.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>線路信息列表</title></head><bodybackground="bus.jpg"><%List<String[]>ll=DBUtilbus.getLinet();if(ll.size()==0){%><fontcolor="red"size="20">對不起當前沒有任何線路信息!?。?lt;/font><%}else{%><tablealign="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1"><caption><b>線路信息列表</b></caption><tr><thbgcolor="d7d3d3">線路號</th><thbgcolor="d7d3d3">大巴號</th><thbgcolor="d7d3d3">始發(fā)站</th><thbgcolor="d7d3d3">終點站</th><thbgcolor="d7d3d3">開車日期</th><thbgcolor="d7d3d3">開車時間</th><thbgcolor="d7d3d3">耗時/h</th><thbgcolor="d7d3d3">總票數(shù)/張</th><thbgcolor="d7d3d3">余票/張</th><thbgcolor="d7d3d3">票價</th><thbgcolor="d7d3d3">^_^</th><thbgcolor="d7d3d3">刪除</th></tr><%intc=0;for(String[]sa:ll){StringcolorStr=(c%2==0)?"#fffefe":"#9ccdfe";c++;%><tr><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[0]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[1]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[2]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[3]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[4]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[5]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[6]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[7]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[8]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[9]%></td><tdbgcolor="<%=colorStr%>"><ahref="ShopServlet?action=buy&&pid=<%=sa[0]%>">購買</a></td><tdalign="center"bgcolor="<%=colorStr%>"><ahref="ShopServlet?action=del3&&pid=<%=sa[0]%>">DEL</a></td></tr><%}%></table><%}%></body></html>buslineiftop.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="sen.DBUtilbus"%><%!Stringlineid="";Stringstart="";Stringend="";StringbusID="";Stringdate="";Stringstime="";Stringntime="";Stringprice="";%><%if((request.getParameter("lineid")!=null)&&(request.getParameter("start")!=null)&&(request.getParameter("end")!=null)&&(request.getParameter("busID")!=null)&&(request.getParameter("stime")!=null)&&(request.getParameter("ntime")!=null)&&(request.getParameter("price")!=null)&&(request.getParameter("date")!=null)) { lineid=newString(request.getParameter("lineid").getBytes("ISO8859_1"),"GB2312"); start=newString(request.getParameter("start").getBytes("ISO8859_1"),"GB2312"); end=newString(request.getParameter("end").getBytes("ISO8859_1"),"GB2312"); busID=newString(request.getParameter("busID").getBytes("ISO8859_1"),"GB2312"); stime=newString(request.getParameter("stime").getBytes("ISO8859_1"),"GB2312"); stime=newString(request.getParameter("stime").getBytes("ISO8859_1"),"GB2312"); ntime=newString(request.getParameter("ntime").getBytes("ISO8859_1"),"GB2312"); price=newString(request.getParameter("price").getBytes("ISO8859_1"),"GB2312"); date=newString(request.getParameter("date").getBytes("ISO8859_1"),"GB2312"); DBUtilbus.addLine(lineid,start,end,busID,date,stime,ntime,Integer.parseInt(price)); }%><formname=form1method="post"action="buslineiftop.jsp">線路號:<inputsize="10"type="text"name="lineid"></input>始發(fā)站:<inputsize="10"type="text"name="start"></input>終點站:<inputsize="10"type="text"name="end"></input>大巴號:<inputsize="10"type="text"name="busID"></input>發(fā)車日期:<inputsize="10"type="text"name="date"></input>發(fā)車時間:<inputsize="10"type="text"name="stime"></input></br>耗時:<inputsize="10"type="text"name="ntime"></input>票價:<inputsize="10"type="text"name="price"></input> <inputtype="submit"value="提交"name="tijiao"></input> <inputtype="submit"value="修改"name="xiugai"></input></form></body></html>2.3.6售票信息售票信息界面樣式如圖:saleticket.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>售票信息列表</title></head><body><%List<String[]>ll=DBUtilbus.getSalet();if(ll.size()==0){%><fontcolor="red"size="20">對不起當前沒有任何線路信息?。。?lt;/font><%}else{%><tablealign="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1"><caption><b>售票信息列表</b></caption><tr><thbgcolor="d7d3d3">線路號</th><thbgcolor="d7d3d3">總票數(shù)</th><thbgcolor="d7d3d3">余票</th></tr><%intc=0;for(String[]sa:ll){StringcolorStr=(c%2==0)?"#fffefe":"#9ccdfe";c++;%><tr><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[0]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[1]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[2]%></td></tr><%}%></table><%}%></body></html>2.3.7管理員信息管理員信息界面央樣式如圖:managertop.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"%><%@pageimport="sen.DBUtilbus"%><html><bodybackground="head.jpg"><%!Stringmid="";Stringpwd="";%><%if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null)) { mid=newString(request.getParameter("mid").getBytes("ISO8859_1"),"GB2312"); pwd=newString(request.getParameter("pwd").getBytes("ISO8859_1"),"GB2312"); DBUtilbus.addmanager(mid,pwd); }%><formname=form1method="post"action="managertop.jsp">輸入賬號:<inputsize="10"type="text"name="mid"></input>輸入密碼:<inputsize="10"type="text"name="pwd"></input><inputtype="submit"value="提交"name="tijiao"></input><inputtype="submit"value="修改"name="xiugai"></input></form></body></html>managebo.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>車輛信息列表</title></head

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論