




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于基于 j2eej2ee 的公交查詢系統(tǒng)的設(shè)計與實現(xiàn)的公交查詢系統(tǒng)的設(shè)計與實現(xiàn)摘摘 要要公交查詢系統(tǒng)是城市道路交通的重要組成部分,是城市發(fā)展的必然產(chǎn)物,是聯(lián)系國民生活、社會生產(chǎn)和流通領(lǐng)域的關(guān)鍵環(huán)節(jié)。我國城市公交查詢系統(tǒng)的發(fā)展處于一個較落后的水平,人們可以獲得信息的方式很少,為了解決這種問題,設(shè)計出基于 j2ee 的公交查詢系統(tǒng)。本論文詳細(xì)介紹了整個系統(tǒng)的已實現(xiàn)的功能。首先,實現(xiàn)多種查詢功能,包括根據(jù)商廈名稱、公交車號、日常站點、和任意兩個站點查詢乘車路線。其次,采用最短路徑算法查找任意兩個站點之間的最短乘車路線。最后,提供了用戶留言的功能、用戶管理功能和后臺車次管理功能;用戶留言功能,主要是
2、收集用戶的留言信息,可以根據(jù)用戶提供的留言信息或是提出的建議,對系統(tǒng)進(jìn)行修改和完善;用戶管理功能,主要是刪除用戶信息和修改用戶基本信息;后臺車次管理功能主要包含添加車次和站點功能、更新車次和站點功能、刪除車次和站點功能,這樣做到系統(tǒng)實時更新,為用戶查詢提供更為準(zhǔn)確的信息。關(guān)鍵詞:關(guān)鍵詞:j2ee;最短路徑算法;公交查詢design and realization of public transport inquiry system based on j2eeabstracturban public transportation is an important part in traffic a
3、nd transportation domain, and its also the inevitable result of social economys development in urban areas. as an important part of urban transportation system, urban public transportation system is acting a key role in human living, in social production and in transportation domain .but the inquiry
4、 system of public transportation developments in our country is in a comparatively backward level. the general passengers have less way to obtain the information. in order to solve this kind of problem, an inquiry system of public transport based on j2ee is designed.the thesis has introduced the rea
5、lized functions of entire system in detail. firstly, the system has realized many inquiry functions. the system can search bus route by the name of business mansion, the number of public transport, ordinary bus station and two arbitrary stations. secondly, the system uses the shortest path algorithm
6、 to find the shortest travel routes between any two stations. finally, the system provides the functions of consumer message, the bus number managing on the backstage and the consumer managing. the function of consumer message mainly collects suggestions from consumer to modify and perfect the syste
7、m functions. the function of user managing is to delete user information mainly and revises the fundamental user information. the functions of bus number managing are mainly to add, update and delete the bus number and the station on the backstage. these can enable the system have the quality of rea
8、l-time updating to provide the accurate information for user.key words:j2ee; shortest path algorithm; public transport inquiry目目 錄錄論文總頁數(shù):30 頁1 引言 .31.1 選題背景.31.2 項目的主要研究工作.31.3 開發(fā)環(huán)境.42 理論基礎(chǔ) .42.1 概念.42.1.1 j2ee 的概念.42.1.2 jsp 的概念.52.1.3 java bean 的概念.52.1.4 java servlet 的概念.52.1.5 session 對象.52.2 j2
9、ee 的結(jié)構(gòu) .52.3 j2ee 的容器類型 .62.4 j2ee 的體系與模式 .62.4.1 j2ee 的體系(分布式計算).62.4.2 j2ee 的模式.63 公交查詢系統(tǒng)功能分析 .63.1 公交查詢系統(tǒng)的需求.63.1.1 系統(tǒng)需求描述 .63.1.2 系統(tǒng)數(shù)據(jù)流圖 .73.2 公交查詢系統(tǒng)的功能.73.3 公交查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計.83.3.1 e-r 圖.83.3.2 數(shù)據(jù)庫表設(shè)計 .94 公交查詢系統(tǒng)的設(shè)計與實現(xiàn) .114.1 創(chuàng)建管理員登錄的 servlet.114.2 創(chuàng)建用戶登錄的 servlet.134.3 公交系統(tǒng)查詢模塊.144.3.1 商廈查詢.144.3.2
10、 車次信息查詢 .174.3.3 站點信息查詢 .194.3.4 兩個站點間的信息查詢 .204.4 公交系統(tǒng)添加模塊.254.4.1 添加車次 .254.4.2 添加站點 .264.5 公交系統(tǒng)刪除模塊.264.5.1 刪除車次 .264.5.2 刪除站點 .274.6 公交系統(tǒng)更新模塊.274.7 公交系統(tǒng)留言板模塊.284.7.1 發(fā)表留言 .284.7.2 查看留言 .284.7.3 刪除留言 .295 系統(tǒng)測試與分析 .29結(jié) 論 .30參考文獻(xiàn) .30致 謝 .錯誤!未定義書簽。錯誤!未定義書簽。聲 明 .錯誤!未定義書簽。錯誤!未定義書簽。第 3 頁 共 30 頁1 1 引言引言
11、1.11.1 選題背景選題背景20 多年來,我國經(jīng)濟(jì)得到了持續(xù)、快速、穩(wěn)定、健康地發(fā)展。經(jīng)濟(jì)的快速增長,帶動了汽車工業(yè)的蓬勃發(fā)展,并使交通狀況顯著改善。據(jù)統(tǒng)計,中國公路通車總里程已達(dá) 130 余萬公里,其中高速公路約 1.5 萬公里。居民收入普遍提高,到 2000 年年底,人均 gdp 已超過 800 美元,沿海地區(qū)已達(dá) 20003000美元。按國際發(fā)展慣例,當(dāng)人均 gdp 超出 1000 美元,汽車消費市場就將進(jìn)入快速增長期。我國城市人口約有 2 億,略低于美國人口。東部沿海地區(qū)大部分居民已經(jīng)具備了汽車消費實力。據(jù)中國消費者協(xié)會 2000 年對 20 個大城市調(diào)查顯示,有 32%的消費準(zhǔn)備在
12、未來 5 年內(nèi)購買家用轎車,其中 30.6%的無車消費者已經(jīng)有駕駛執(zhí)照。隨著個人信貸制度的啟動和日漸完善,家庭轎車的快速增長勢頭必將開掘出巨大的中國汽車市場。城市經(jīng)濟(jì)發(fā)展,城市規(guī)模越來越大,相應(yīng)的城市公交系統(tǒng)也越來越龐大。許多新建小區(qū)大量出現(xiàn),公交線路也日漸增多,給人們的出行帶來了極大便利,但是由于城市規(guī)模的不斷發(fā)展,給人們選擇出行乘車線路造成了一定的困難。即使一個在城市生活多年的人,給他任意兩個地點,要他說出這兩個地點之間的乘車方案,他往往也是很難說出來的。但是如果給他一張交通地圖之后,他可以很快地找出圖上的任意兩點之間的乘車方案,所找出的方案即使不是最優(yōu)的,也是一條可供參考的備選方案。但是
13、這樣的查詢效率是相當(dāng)?shù)偷?,所以需要提供一個高效的查詢系統(tǒng),才是問題更本所在。而基于 j2ee 的公交查詢系統(tǒng),就是利用 b/s 結(jié)構(gòu)開發(fā)出來的查詢系統(tǒng),它通過利用數(shù)據(jù)結(jié)構(gòu)當(dāng)中的最短路徑算法,可以查出任意兩個地點之間最短的乘車方案。它不僅可以用于公交公司管理系統(tǒng)中,也可以單獨作為公交管理系統(tǒng)的一個模塊存在,并可以制作成公交信息系統(tǒng)查詢網(wǎng),放置于城市的主要場所。這樣不僅可以體現(xiàn)出一個城市的智能公交系統(tǒng)的水平,更顯示出城市的數(shù)字化,信息化水平。目前,我國眾多大城市普遍存在交通擁擠,延誤人們平時上班時間。甚至影響了城市旅游業(yè)經(jīng)濟(jì)的可持續(xù)發(fā)展。所以為了切實的改善公交車內(nèi)擁擠狀況,適當(dāng)增加發(fā)車次數(shù)以縮短乘
14、客等車時間,但是能夠準(zhǔn)確為人們提供最短的乘車線路才是得到解決的最好辦法,這樣大大的縮短了人們的乘車時間。本項目研究的基于 j2ee 的公交查詢系統(tǒng),讓人們通過互聯(lián)網(wǎng)很快的查出該城市任意兩站點之間的最短乘車路線。1.21.2 項目的主要研究工作項目的主要研究工作本系統(tǒng)是從城市交通現(xiàn)狀出發(fā),根據(jù)人們的出行規(guī)律,設(shè)計了一個完整的第 4 頁 共 30 頁基于 j2ee 體系的公交車查詢系統(tǒng)。該系統(tǒng)可以根據(jù)商廈名稱,公交車號,日常站點和站點之間為查詢條件分別進(jìn)行查詢,解決了市民出行乘坐公交車時經(jīng)常遇到的困難。本系統(tǒng)模型構(gòu)架分為下面四層結(jié)構(gòu),如下。(1)j2ee 應(yīng)用程序組件j2ee 應(yīng)用程序是由組件構(gòu)成
15、的。j2ee 組件是具有獨立功能的軟件單元,它們通過相關(guān)的類和文件組裝成 j2ee 應(yīng)用程序,并與其他組件交互。本系統(tǒng)包括如下組件:應(yīng)用客戶端程序及 j2ee 服務(wù)器。java servlet 和 javaserver pages(jsp)web 組件及 javabean。(2)web 層組件j2ee web 層組件包含 jsp 頁面或 servlet。按照 j2ee 規(guī)范,還包含某些javabean 對象來處理用戶輸入,并把輸入發(fā)送給運行在業(yè)務(wù)邏輯層上的組件來進(jìn)行處理。(3)客戶層組件基于 web 方式的靜態(tài) html 頁面或是 applet 客戶端的小應(yīng)用程序。(4)編寫算法編寫最短路徑數(shù)
16、據(jù)結(jié)構(gòu)算法,解決完成站點之間最短乘車路徑查詢。1.31.3 開發(fā)環(huán)境開發(fā)環(huán)境開發(fā)工具:eclipse 3.2 + myeclipse 5.0ga。運行環(huán)境:jsdk 1.5.0_04 虛擬機(jī)。服務(wù)器:tomcat 5.5。數(shù)據(jù)庫:microsoft sql server 2000。操作系統(tǒng):windows xp。所需內(nèi)存:512 m。2 2 理論基礎(chǔ)理論基礎(chǔ)2.12.1 概念概念.1 j2eej2ee 的概念的概念j2ee 是一種利用 java 2 平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。j2ee 技術(shù)的基礎(chǔ)就是核心 java 平臺或 java 2 標(biāo)
17、準(zhǔn)平臺。j2ee 不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點,例如“編寫一次、隨處運行”的特性、方便存取數(shù)據(jù)庫的 jdbc api、corba 技術(shù)以及能夠在 internet 應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時還提供了對 ejb(enterprise javabeans) 、java 第 5 頁 共 30 頁servlet api、jsp(java server pages)以及 xml 技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。.2 jspjsp 的概念的概念jsp 程序是一個服務(wù)端頁面腳本程序,可以在這個腳本中直接編寫客戶端瀏覽器需要顯示的
18、html 文檔內(nèi)容,當(dāng)然也可以依照 jsp 規(guī)范將 java 程序代碼嵌入腳本。jsp 腳本規(guī)范提供了若干內(nèi)部對象來簡化 jsp 程序和瀏覽器之間的輸入輸出處理。由于 jsp 程序是從 html 頁面添加 java 動態(tài)處理代碼而來,因此,jsp 程序又稱為動態(tài) jsp 頁面。.3 javajava beanbean 的概念的概念javabean 是一種 java 語言寫成的可重用組件,用戶可以使用 javabean 將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用 java 代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的 jsp 頁面、servlet、其他javabean
19、、applet 程序或者應(yīng)用來使用這些對象。用戶可以認(rèn)為 javabean 提供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。這個對 j2ee 業(yè)務(wù)邏輯層處理具有相當(dāng)重要的部分。.4 javajava servletservlet 的概念的概念java servlet 使用的是一種請求/響應(yīng)機(jī)制,也就是說通過特定的 java 程序設(shè)計技術(shù),由該 servlet 動態(tài)產(chǎn)生的響應(yīng)向某一特定的請求做出響應(yīng)。servlet 所能應(yīng)用的請求/響應(yīng)場合很多,但常用的還是在 web 應(yīng)用程序中用于產(chǎn)生超文本傳輸協(xié)議響應(yīng)(http) 。據(jù)此,servlet 可能取代其他類型的 http
20、請求/響應(yīng)機(jī)制,譬如通用網(wǎng)關(guān)接口(cgi)腳本。.5 sessionsession 對象對象session 對象是類 javax.servlet.httpsession 的一個對象,是用來保存每個用戶信息(以會話的形式直接保存在 web 服務(wù)器端) ,以便跟蹤每個用戶的操作狀態(tài)。2.22.2 j2eej2ee 的結(jié)構(gòu)的結(jié)構(gòu)j2ee 結(jié)構(gòu)具有一個很大的特點,就是與平臺無關(guān)性的 j2ee 結(jié)構(gòu)。所開發(fā)出來的程序可以在任何操作系統(tǒng)下運行。這樣就使得 j2ee 程序的編寫變得十分簡單,因為業(yè)務(wù)邏輯被封裝成可以復(fù)用的組件,并且 j2ee 服務(wù)器以容器的形式為所有的組件類型提供后臺服務(wù),所
21、以你可以集中精力解決手頭的業(yè)務(wù)邏輯。第 6 頁 共 30 頁2.32.3 j2eej2ee 的容器類型的容器類型j2ee 容器類型可以分為 web 容器和 ejb 容器。ejb 容器管理所有 j2ee 應(yīng)用程序中企業(yè)級 bean 的執(zhí)行,enterprise bean和它們的容器運行在 j2ee 服務(wù)器上。web 容器也是管理所有 j2ee 應(yīng)用程序中 jsp 和 servlet 組件執(zhí)行,同理web 組件和它們的容器也是運行在 j2ee 服務(wù)器上的。2.42.4 j2eej2ee 的體系與模式的體系與模式 j2eej2ee 的體系的體系( (分布式計算分布式計算) )(1)表示
22、層:web page| html | http(2)控制層:jsp | servlets (3)邏輯層:javabean (4)數(shù)據(jù)層:database (5)jdbc.2 j2eej2ee 的模式的模式mvc(model view controller)頁面 bean 是一個模型(model) ,而 jsp 是一個視圖(view), servlet 是一個控制器(controller)。3 3 公交查詢系統(tǒng)功能分析公交查詢系統(tǒng)功能分析3.13.1 公交查詢系統(tǒng)的需求公交查詢系統(tǒng)的需求.1 系統(tǒng)需求描述系統(tǒng)需求描述公交查詢系統(tǒng)的需求最主要是通過站點與車次之間的關(guān)
23、系,利用數(shù)據(jù)結(jié)構(gòu)算法構(gòu)造一個公交查詢的網(wǎng)絡(luò)圖,然后通過最短路徑算法,為用戶準(zhǔn)確地提供兩站點之間的最短乘車路線。其次從業(yè)務(wù)實現(xiàn)上來說,需要在業(yè)務(wù)邏輯層上編寫最短路徑算法,同時還要編寫當(dāng)用戶查詢請求時必須的數(shù)據(jù)庫連接,然后根據(jù)用戶提供查詢站點信息,建立公交查詢網(wǎng)絡(luò)圖,最終調(diào)用算法獲取兩站點之間的最短乘車線路。當(dāng)查詢完成后,如果用戶需要進(jìn)行其它的操作,則釋放該連接資源。最后,為了讓公交線路信息得到及時的更新或是信息刪除,需要做出相應(yīng)的操作和處理。第 7 頁 共 30 頁.2 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖管理員登錄車次管理用戶登錄用戶注冊 帳 號 線路管理留言刪除用戶車輛信息庫線路信息留言
24、本站點管理站點信息公交車查詢用戶圖 3.1 系統(tǒng)數(shù)據(jù)流圖3.23.2 公交查詢系統(tǒng)的功能公交查詢系統(tǒng)的功能(1)通過選擇商廈名稱進(jìn)行相應(yīng)的信息查詢。(2)通過選擇車號進(jìn)行相應(yīng)的信息查詢。(3)通過選擇站點進(jìn)行相應(yīng)的信息查詢。(4)通過選擇任意兩個站點,完成兩站點之間最短乘車路線查詢。(5)完成車次和站點添加功能。(6)完成車次和站點更新功能。(7)完成車次和站點刪除功能。(8)用戶登錄驗證功能。(9)用戶注冊信息功能。(10)用戶注銷功能。(11)刪除用戶信息功能。 (12)添加用戶留言,刪除用戶留言,查看用戶留言。(13)管理員登錄驗證功能。(14)管理員注銷功能。第 8 頁 共 30 頁3
25、.33.3 公交查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計公交查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計.1 e-r 圖圖用 戶用戶名密碼年齡地址郵箱提示問題提示答案證件號碼圖 3.2 用戶實體及屬性管理員管理員帳號密碼圖 3.3 管理員實體及屬性留 言 板用戶名留言時間留言標(biāo)題留言內(nèi)容郵箱地址留言 id圖 3.4 留言板實體及屬性第 9 頁 共 30 頁車次信息終點站票價起點站車子檔次車號票價檔次站點信息站點號站點名稱經(jīng)過車號站點次序站點號圖 3.5 車次與站點之間關(guān)系.2 數(shù)據(jù)庫表設(shè)計數(shù)據(jù)庫表設(shè)計(1)用戶表 userinfo(如表 3.1)表 3.1 用戶表信息列名中文名稱數(shù)據(jù)類型長度允許空user
26、name用戶名varchar50not nulluserpassword用戶密碼varchar50not nulluserage用戶年齡int4nulladdress地址varchar50nullemail郵箱varchar50nullquestion問題varchar50nullanswer答案varchar50nullidnum證件號varchar50null第 10 頁 共 30 頁(2)管理員表 administrator(如表 3.2)表 3.2 管理員信息列名中文名稱數(shù)據(jù)類型長度允許空adminiid管理員名varchar50not nulladminipassword密碼varc
27、har50not null(3)車次信息表 businfo(如表 3.3)表 3.3 車次信息表列名中文名稱數(shù)據(jù)類型長度允許空busnum車號int4not nullbeginst起點站varchar50not nullendst終點站varchar50not nullticketnote票價varchar50nullbuslevel車子檔次varchar50nullnote票檔次varchar50null(4)站點信息表 stinfo(如表 3.4)表 3.4 站點信息表列名中文名稱數(shù)據(jù)類型長度允許空stid站點號int4not nullstname站點名稱varchar50not null
28、(5)車次與站點關(guān)系表 busst(如表 3.5)表 3.5 車次與站點關(guān)系表列名中文名稱數(shù)據(jù)類型長度允許空busnum車號int4not nullstid站點號int4not nullstorder站點次序int4not null(6)商廈信息表 publicplace(如表 3.6)表 3.6 商廈信息表列名中文名稱數(shù)據(jù)類型長度允許空placesid商廈號int4not nullplacesname商夏名稱varchar50null第 11 頁 共 30 頁(7)站點與商廈關(guān)系表 stplace(如表 3.7)表 3.7 站點與商廈關(guān)系表列名中文名稱數(shù)據(jù)類型長度允許空stid站點號int4
29、not nullplaceid商廈號int4not null(8)留言信息表 message(如表 3.8)表 3.8 留言信息表列名中文名稱數(shù)據(jù)類型長度允許空username用戶名varchar50not nullmessagedate留言日期datetime8not nulltopic留言主題varchar50not nullemail郵箱varchar50nullmessagetext留言內(nèi)容varchar250not nullid留言序號int4not null4 4 公交查詢系統(tǒng)的設(shè)計與實現(xiàn)公交查詢系統(tǒng)的設(shè)計與實現(xiàn)4.14.1 創(chuàng)建管理員登錄的創(chuàng)建管理員登錄的 servletserv
30、let(1)打開 eclipse 開工具,新建一個 confirmservlet 類(如圖 4.1)圖 4.1 創(chuàng)建管理員登錄 confirmservlet 類(2)在已創(chuàng)建好 confirmservlet 類中,生成一個具有私有屬性的第 12 頁 共 30 頁login()方法,該方法就是對管理員請求過來的信息進(jìn)行驗證。該方法首先利用 httpservletrequest,httpservletresponse 進(jìn)行對象初始化。利用httpservletrequest 的 getparameter()來獲取管理員頁面?zhèn)鱽淼膬蓚€參數(shù),一個是 adminname,另一個是 adminpasswo
31、rd。然后調(diào)用自定義連接數(shù)據(jù)庫類進(jìn)行數(shù)據(jù)庫對象實例化,最后在進(jìn)行驗證的時候,獲取管理頁面驗證碼,如果驗證碼無誤就對管理員賬號和管理員密碼驗證,最終將正確的管理員賬號和管理員密碼放入 session 會話變量中。管理員登錄界面(如圖 4.2)圖 4.2 管理員登錄界面相應(yīng)代碼:private void login(httpservletrequest request,httpservletresponse response)connection conn=null;statement stmt=null;resultset rs=null;httpsession session=request.
32、getsession(true);/如果用戶session為空重新分配一個新的session給用戶dbconnection2 db=dbconnection2.getinstance();string adminname=request.getparameter(adminname) =null ? : request.getparameter(adminname);adminname =exchange(adminname);/字符串亂碼處理string password = request.getparameter(password) = null ? : request.getparam
33、eter(password);password=exchange(password);/字符串亂碼處理string sql=;string rand=(string) session.getattribute(rand);string input=request.getparameter(vaild);int n=0;try第 13 頁 共 30 頁conn = db.getconnection();stmt = conn.createstatement();sql = select * from administrator where adminiid = +adminname+ and a
34、dminipassword = +password+;rs=stmt.executequery(sql);if(rs.next() & rs!= null)n+;if (n 0 & input.equals(rand)session.setattribute(adminname, adminname);session.setattribute(adminpassword, password);session.removeattribute(rand);response.sendredirect(loginsuccess.jsp);elseresponse.sendredirect(error.
35、jsp);catch(exception e)e.printstacktrace();finallytryif(stmt!=null)stmt.close();db.freeconnection(conn);catch(exception ee.printstacktrace();4.24.2 創(chuàng)建用戶登錄的創(chuàng)建用戶登錄的 servletservlet(1)打開 eclipse 開工具,新建一個 userloginservlet 類(如圖 4.3)第 14 頁 共 30 頁圖 4.3 創(chuàng)建用戶登錄 userloginservlet 類(2)與管理員中的 confirmservlet 類一樣,也
36、生成一個具有私有屬性的login()方法,該方法也同樣的繼承了 httpservletrequest 和httpservletresponse 類,通過這個類來獲取用戶界面請求過來的參數(shù),當(dāng)通過用戶信息驗證后,同樣也將用戶賬號和用戶的密碼放入 session 會話變量中,一旦用戶最終關(guān)閉瀏覽器,session 會話變量也隨即銷毀。用戶登錄界面(如圖 4.4)圖 4.4 用戶登錄界面4.34.3 公交系統(tǒng)查詢模塊公交系統(tǒng)查詢模塊.1 商廈查詢商廈查詢商廈查詢是為用戶提供按具體的名稱(如:歐尚)查詢,并顯示到這個地點所有公交車車次的相關(guān)信息(如:車號,站點名稱,票價,車子的檔次和這
37、個商廈的名稱等信息)。而查詢功能的實現(xiàn)是由系統(tǒng)的業(yè)務(wù)邏輯層中的 querydata 類來實現(xiàn)的。當(dāng)用戶傳來的車次提交信息,首先商廈查詢頁面先編譯成服務(wù)器上的第 15 頁 共 30 頁servlet,然后根據(jù)需要調(diào)用業(yè)務(wù)邏輯層中相應(yīng)類。商廈信息查詢結(jié)果(如圖 4.5)圖 4.5 商廈查詢相應(yīng)代碼:public arraylist queryplace(string placename,string page) arraylist arraylist = new arraylist();dbconnection2 db=dbconnection2.getinstance();connection
38、conn=null;statement stmt=null;resultset rs=null;string sql=;try if (placename != null) if (!placename.equals() placename = exchange(placename);/字符串轉(zhuǎn)碼int m = (integer.parseint(page) - 1) * pagesize;int i = 0;sql=select businfo.busnum,stinfo.stname,ticketnote,buslevel,note from stinfo,businfo,busst wh
39、ere busst.stid = stinfo.stid and businfo.busnum = busst.busnum and busst.stid in (select stid from stplace where placesid in (select placesid from publicplace where placesname = +placename+);conn = db.getconnection();stmt=conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_o
40、nly);rs = stmt.executequery(sql);if (rs.first() rs.absolute(m + 1); /將游標(biāo)放到指定位置再加1(也是開始的第一條記錄的序號)第 16 頁 共 30 頁while(i pagesize & rs != null & !rs.isafterlast()hashmap hashmap = new hashmap();hashmap.put(busnum,+rs.getint(busnum);/將從數(shù)據(jù)庫中查出的值放入hashmap.put(stname,rs.getstring(stname);hashmap.put(ticketn
41、ote,rs.getstring(ticketnote);hashmap.put(buslevel,rs.getstring(buslevel);hashmap.put(note,rs.getstring(note);arraylist.add(hashmap); /將所有的hashmap放入arraylistrs.next();i+; catch (exception e) e.printstacktrace(); finally try if (stmt != null) stmt.close();db.freeconnection(conn); catch (exception e) e
42、.printstacktrace();return arraylist;調(diào)用此方法時,在頁面中先引用包 com.bussystem.util,再創(chuàng)建 querydata類的對象,通過對象調(diào)用 queryplace()這個方法。第 17 頁 共 30 頁.2 車次信息查詢車次信息查詢車次信息查詢是為用戶提供一個按公交車的車號(如:1 路)查詢,并顯示該公交車的相關(guān)信息(如:公交車的起點站、終點站、票價和車子的檔次等信息) 。而查詢功能的實現(xiàn)是由系統(tǒng)的業(yè)務(wù)邏輯層中的 querydata 類來實現(xiàn)的。車次信息查詢結(jié)果(如圖 4.6)圖 4.6 車次信息查詢相應(yīng)的代碼:public a
43、rraylist statisticsbybusinfo(string busnum,int page) arraylist arraylist = new arraylist();dbconnection2 db = dbconnection2.getinstance();connection conn = null;statement stmt = null;resultset rs = null;string sql = ;try int m = (page-1)*pagesize; /計算游標(biāo)的位置int i = 0;busnum = exchange(busnum);/字符串轉(zhuǎn)碼if
44、 (busnum.equals() | busnum = null) sql = select * from businfo; else busnum = exchange(busnum);/字符串轉(zhuǎn)碼sql = select * from businfo where busnum = +integer.parseint (busnum)+;conn = db.getconnection();第 18 頁 共 30 頁stmt= conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);
45、rs = stmt.executequery(sql);if (rs.first() rs.absolute(m + 1); /將游標(biāo)放到指定位置再加1(也是開始的第一條記錄的序號)while (i e-h-i 就是查詢出來最短路徑。最短路徑算法相應(yīng)的程序(利用廣度優(yōu)先遍歷算法查找最短路徑):public stack getshortestpath2(object begin,object end)this.resetvertices();boolean done=false;arraylist vertexqueue=new arraylist();vertex beginvertex=(v
46、ertex) vertices.get(begin);vertex endvertex=(vertex) vertices.get(end);beginvertex.visit();vertexqueue.add(beginvertex);while(!done & !vertexqueue.isempty()vertex frontvertex=(vertex) vertexqueue.get(0); 第 25 頁 共 30 頁vertexqueue.remove(0); ierator edges=frontvertex.getneighboriterator();while(!done
47、& edges.hasnext()edge edgetonextneighbor=(edge) edges.next();vertex nextneighbor=edgetonextneighbor.getendvertex();if(!nextneighbor.isvisited()nextneighbor.visit();nextneighbor.setpredecessor(frontvertex);vertexqueue.add(nextneighbor);if(nextneighbor.equals(endvertex)done=true;stack path=new stack()
48、;path.push(endvertex);while(endvertex.getpredecessor()!=null)endvertex=endvertex.getpredecessor();path.push(endvertex);return path;4.44.4 公交系統(tǒng)添加模塊公交系統(tǒng)添加模塊.1 添加車次添加車次添加車次功能主要是增加一個車次詳細(xì)信息,其中包括:車次號,起點站,終點站,票價,汽車檔次,票價類型。需要注意,在添加起點站和終點站的時候,數(shù)據(jù)都是從站點庫獲得然后添加到起點站和終點站中去。因為添加車次它只涉及到車次的詳細(xì)信息,如果要想添加站點,則需要在添
49、加站點功能頁面中進(jìn)行相應(yīng)的操作。添加車次頁面(如圖 4.12)第 26 頁 共 30 頁圖 4.12 添加車次.2 添加站點添加站點添加站點功能:(1)在添加站點的文本框中輸入要添加的站點名稱。 (2)提供了一個站點重名的查找功能,該功能可以對你輸入添加的站點名稱進(jìn)行名稱查重,通過查詢站點編碼表,顯示這個站點是否已經(jīng)存在。如果不存在,則將此新增站點名稱插入到站點編碼表中,如果存在,則不需將此站點名稱插入到站點編碼表中。 (3)通過下拉選擇框選擇新增站點所對應(yīng)的車次號。 (4)如果查詢站點總數(shù)在文本框中顯示為“0” ,則需要將起點站和終點站同新增的站點一起插入車次和站點的關(guān)系表中
50、。如果查詢站點總數(shù)在文本框中顯示不為“0” ,則只需將新增的站點插入車次和站點關(guān)系表中即可。添加站點頁面(如圖 4.13)圖 4.13 添加站點4.54.5 公交系統(tǒng)刪除模塊公交系統(tǒng)刪除模塊.1 刪除車次刪除車次刪除車次功能:分頁列出車次信息表中所有的車次信息,選擇操作中的刪除,就可以將對應(yīng)的車次信息刪除,但是在刪除車次信息的時候需要先刪除車次與站點關(guān)系表中所有對應(yīng)該車次的信息。如果不先刪除就會出現(xiàn)違反數(shù)據(jù)庫完整性。刪除車次頁面(如圖 4.14)圖 4.14 刪除車次第 27 頁 共 30 頁.2 刪除站點刪除站點刪除站點功能:通過車次的下拉選擇框選擇車次,進(jìn)行查詢列出該車次的所有站點信息,然后點擊刪除操作就可以刪除該站點。需要注意:因為在車次中從起點站到終點站計算,其所有的站點是一個有次序的排列,所以刪除一個站點,則它的下個站點次序號依次減少一位。刪除站點頁面(如圖 4.15)圖 4.15 刪除站點4.64.6 公交系統(tǒng)更新模塊公交系統(tǒng)更新模塊更新站點功能:通過車次的下拉選擇框選擇車次,進(jìn)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 82474-1:2025 EN Material declaration - Part 1: General requirements
- 抖音賬號IP人設(shè)深度定制與內(nèi)容制作合作協(xié)議
- 春季傳染病的預(yù)防
- 酒店管理實習(xí)協(xié)議書
- 食品經(jīng)營誠信協(xié)議書
- 魚池定制訂購協(xié)議書
- 裝修公共損壞協(xié)議書
- 認(rèn)繳公司設(shè)立協(xié)議書
- 銀行取消代扣協(xié)議書
- 購銷合同三方協(xié)議書
- 上海中學(xué)2025屆高考英語二模試卷含解析
- 公務(wù)出國在職證明-英文版(因公簽證)
- 故都的秋課文原文
- 【上市公司應(yīng)收賬款審計失敗原因及應(yīng)對措施探究:以立信所審計風(fēng)華高科公司為例(論文)10000字】
- 《長征勝利萬歲》教學(xué)設(shè)計 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修上冊
- 2024年上海高考數(shù)學(xué)真題試題(原卷版+含解析)
- 2024年個人勞務(wù)承包合同書
- 人工智能原理及MATLAB實現(xiàn) 課件 第2章 機(jī)器學(xué)習(xí)
- 宣傳費用結(jié)算合同
- 蘋果行業(yè)競爭對手分析分析
- 公安局指揮中心工作總結(jié)
評論
0/150
提交評論