畢業(yè)設(shè)計(論文)-基于J2EE的公交查詢系統(tǒng)的設(shè)計與實現(xiàn).doc

上傳人:good****022 文檔編號:116491979 上傳時間:2022-07-05 格式:DOC 頁數(shù):32 大?。?01.02KB
收藏 版權(quán)申訴 舉報 下載
畢業(yè)設(shè)計(論文)-基于J2EE的公交查詢系統(tǒng)的設(shè)計與實現(xiàn).doc_第1頁
第1頁 / 共32頁
畢業(yè)設(shè)計(論文)-基于J2EE的公交查詢系統(tǒng)的設(shè)計與實現(xiàn).doc_第2頁
第2頁 / 共32頁
畢業(yè)設(shè)計(論文)-基于J2EE的公交查詢系統(tǒng)的設(shè)計與實現(xiàn).doc_第3頁
第3頁 / 共32頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(論文)-基于J2EE的公交查詢系統(tǒng)的設(shè)計與實現(xiàn).doc》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(論文)-基于J2EE的公交查詢系統(tǒng)的設(shè)計與實現(xiàn).doc(32頁珍藏版)》請在裝配圖網(wǎ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 J2EE Abstract Urban public transportation is an important

3、part in traffic and 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

4、 .But the inquiry 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

5、introduced the realized 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 short

6、est path algorithm 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

7、 perfect the system 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

8、the quality of real-time updating to provide the accurate information for user. Key words:J2EE; Shortest path algorithm; public transport inquiry 目目 錄錄 論文總頁數(shù):30 頁 1 引言 .3 1.1 選題背景3 1.2 項目的主要研究工作3 1.3 開發(fā)環(huán)境4 2 理論基礎(chǔ) .4 2.1 概念4 2.1.1 J2EE 的概念.4 2.1.2 JSP 的概念5 2.1.3 Java Bean 的概念5 2.1.4 Java Servlet 的概念.

9、5 2.1.5 Session 對象5 2.2 J2EE 的結(jié)構(gòu) .5 2.3 J2EE 的容器類型 .6 2.4 J2EE 的體系與模式 .6 2.4.1 J2EE 的體系(分布式計算).6 2.4.2 J2EE 的模式.6 3 公交查詢系統(tǒng)功能分析 .6 3.1 公交查詢系統(tǒng)的需求6 3.1.1 系統(tǒng)需求描述 .6 3.1.2 系統(tǒng)數(shù)據(jù)流圖 .7 3.2 公交查詢系統(tǒng)的功能7 3.3 公交查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計8 3.3.1 E-R 圖8 3.3.2 數(shù)據(jù)庫表設(shè)計 .9 4 公交查詢系統(tǒng)的設(shè)計與實現(xiàn) 11 4.1 創(chuàng)建管理員登錄的 SERVLET11 4.2 創(chuàng)建用戶登錄的 SERVLET1

10、3 4.3 公交系統(tǒng)查詢模塊.14 4.3.1 商廈查詢.14 4.3.2 車次信息查詢 17 4.3.3 站點信息查詢 19 4.3.4 兩個站點間的信息查詢 20 4.4 公交系統(tǒng)添加模塊.25 4.4.1 添加車次 25 4.4.2 添加站點 26 4.5 公交系統(tǒng)刪除模塊.26 4.5.1 刪除車次 26 4.5.2 刪除站點 27 4.6 公交系統(tǒng)更新模塊.27 4.7 公交系統(tǒng)留言板模塊.28 4.7.1 發(fā)表留言 28 4.7.2 查看留言 28 4.7.3 刪除留言 29 5 系統(tǒng)測試與分析 29 結(jié) 論 30 參考文獻(xiàn) 30 致 謝 錯誤!未定義書簽。錯誤!未定義書簽。 聲

11、明 錯誤!未定義書簽。錯誤!未定義書簽。 第 3 頁 共 30 頁 1 1 引言引言 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)

12、具備了汽車消費實力。據(jù)中國消費者協(xié)會 2000 年對 20 個大城市調(diào)查顯 示,有 32%的消費準(zhǔn)備在未來 5 年內(nèi)購買家用轎車,其中 30.6%的無車消費者已 經(jīng)有駕駛執(zhí)照。隨著個人信貸制度的啟動和日漸完善,家庭轎車的快速增長勢 頭必將開掘出巨大的中國汽車市場。 城市經(jīng)濟(jì)發(fā)展,城市規(guī)模越來越大,相應(yīng)的城市公交系統(tǒng)也越來越龐大。 許多新建小區(qū)大量出現(xiàn),公交線路也日漸增多,給人們的出行帶來了極大便利, 但是由于城市規(guī)模的不斷發(fā)展,給人們選擇出行乘車線路造成了一定的困難。 即使一個在城市生活多年的人,給他任意兩個地點,要他說出這兩個地點之間 的乘車方案,他往往也是很難說出來的。但是如果給他一張交通

13、地圖之后,他 可以很快地找出圖上的任意兩點之間的乘車方案,所找出的方案即使不是最優(yōu) 的,也是一條可供參考的備選方案。但是這樣的查詢效率是相當(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ù)字化,信息化水平。 目前,我國眾多大城市普遍

14、存在交通擁擠,延誤人們平時上班時間。甚至 影響了城市旅游業(yè)經(jīng)濟(jì)的可持續(xù)發(fā)展。所以為了切實的改善公交車內(nèi)擁擠狀況, 適當(dāng)增加發(fā)車次數(shù)以縮短乘客等車時間,但是能夠準(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ù)商廈名稱,公交車號,日常 站點和站點之間為查詢條

15、件分別進(jìn)行查詢,解決了市民出行乘坐公交車時經(jīng)常 遇到的困難。 本系統(tǒng)模型構(gòu)架分為下面四層結(jié)構(gòu),如下。 (1)J2EE 應(yīng)用程序組件 J2EE 應(yīng)用程序是由組件構(gòu)成的。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 對象來處理用戶輸入

16、,并把輸入發(fā)送給運行在業(yè)務(wù)邏輯層上的組件來 進(jìn)行處理。 (3)客戶層組件 基于 WEB 方式的靜態(tài) HTML 頁面或是 Applet 客戶端的小應(yīng)用程序。 (4)編寫算法 編寫最短路徑數(shù)據(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 概念概念 2.1.12

17、.1.1 J2EEJ2EE 的概念的概念 J2EE 是一種利用 Java 2 平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相 關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE 技術(shù)的基礎(chǔ)就是核心 Java 平臺或 Java 2 標(biāo)準(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 技

18、術(shù)的全面支持。其最終目 的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。 2.1.22.1.2 JSPJSP 的概念的概念 JSP 程序是一個服務(wù)端頁面腳本程序,可以在這個腳本中直接編寫客戶端 瀏覽器需要顯示的 HTML 文檔內(nèi)容,當(dāng)然也可以依照 JSP 規(guī)范將 Java 程序代碼 嵌入腳本。JSP 腳本規(guī)范提供了若干內(nèi)部對象來簡化 JSP 程序和瀏覽器之間的 輸入輸出處理。由于 JSP 程序是從 HTML 頁面添加 Java 動態(tài)處理代碼而來,因 此,JSP 程序又稱為動態(tài) JSP 頁面。 2.1.32.1.3 JavaJava BeanBean 的概念的概念 JavaBean

19、 是一種 JAVA 語言寫成的可重用組件,用戶可以使用 JavaBean 將 功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用 java 代碼創(chuàng)造的對象進(jìn)行打包, 并且其他的開發(fā)者可以通過內(nèi)部的 JSP 頁面、Servlet、其他 JavaBean、applet 程序或者應(yīng)用來使用這些對象。用戶可以認(rèn)為 JavaBean 提 供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。這個對 J2EE 業(yè) 務(wù)邏輯層處理具有相當(dāng)重要的部分。 2.1.42.1.4 JavaJava ServletServlet 的概念的概念 Java Servlet 使用的是一種請求/響應(yīng)機(jī)制,也就是說通過特定的 Java

20、 程 序設(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 請求/響應(yīng)機(jī)制,譬如通用網(wǎng)關(guān)接口(CGI)腳本。 2.1.52.1.5 SessionSession 對象對象 Session 對象是類 javax.servlet.Httpsession 的一個對象,是用來保存 每個用戶信息(以會話的形式直接保存在 WEB 服務(wù)器端) ,以便跟蹤每個用戶的 操作狀態(tài)。 2.22.2 J2EEJ2EE 的結(jié)

21、構(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ù),所以你可以集中精力解決手頭的業(yè)務(wù)邏輯。 第 6 頁 共 30 頁 2.32.3 J2EEJ2EE 的容器類型的容器類型 J2EE 容器類型可以分為 WEB 容器和 EJB 容器。 EJB 容器管理所有 J2EE 應(yīng)用程序中企業(yè)級 Bean 的執(zhí)行,Enterprise Bean 和它們的容器運行在 J2EE 服務(wù)器上。 WE

22、B 容器也是管理所有 J2EE 應(yīng)用程序中 JSP 和 Servlet 組件執(zhí)行,同理 WEB 組件和它們的容器也是運行在 J2EE 服務(wù)器上的。 2.42.4 J2EEJ2EE 的體系與模式的體系與模式 2.2.4.1 J2EEJ2EE 的體系的體系( (分布式計算分布式計算) ) (1)表示層:Web Page| HTML | HTTP (2)控制層:JSP | Servlets (3)邏輯層:JavaBean (4)數(shù)據(jù)層:Database (5)JDBC 2.4.22.4.2 J2EEJ2EE 的模式的模式 MVC(Model View Controller) 頁面 bean 是一個模

23、型(model) ,而 JSP 是一個視圖(view), Servlet 是一 個控制器(controller)。 3 3 公交查詢系統(tǒng)功能分析公交查詢系統(tǒng)功能分析 3.13.1 公交查詢系統(tǒng)的需求公交查詢系統(tǒng)的需求 3.1.13.1.1 系統(tǒng)需求描述系統(tǒng)需求描述 公交查詢系統(tǒng)的需求最主要是通過站點與車次之間的關(guān)系,利用數(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)用算法

24、獲取兩站點之間的最短乘車線路。當(dāng)查詢 完成后,如果用戶需要進(jìn)行其它的操作,則釋放該連接資源。 最后,為了讓公交線路信息得到及時的更新或是信息刪除,需要做出相應(yīng) 的操作和處理。 第 7 頁 共 30 頁 3.1.23.1.2 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖 管理員 登錄 車次管 理 用戶 登錄 用戶注 冊 帳 號 線路管 理 留言 刪除用 戶 車輛信息庫線路信息 留言本 站點管 理 站點信息 公交車查詢 用戶 圖 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)的信息

25、查詢。 (4)通過選擇任意兩個站點,完成兩站點之間最短乘車路線查詢。 (5)完成車次和站點添加功能。 (6)完成車次和站點更新功能。 (7)完成車次和站點刪除功能。 (8)用戶登錄驗證功能。 (9)用戶注冊信息功能。 (10)用戶注銷功能。 (11)刪除用戶信息功能。 (12)添加用戶留言,刪除用戶留言,查看用戶留言。 (13)管理員登錄驗證功能。 (14)管理員注銷功能。 第 8 頁 共 30 頁 3.33.3 公交查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計公交查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計 3.3.13.3.1 E-R 圖圖 用 戶 用戶名 密碼年齡地址 郵箱 提示問題提示答案 證件號碼 圖 3.2 用戶實體及屬性 管理

26、員 管理員帳號密碼 圖 3.3 管理員實體及屬性 留 言 板 用戶名 留言時間留言標(biāo)題留言內(nèi)容 郵箱地址留言 ID 圖 3.4 留言板實體及屬性 第 9 頁 共 30 頁 車次信息 終點站票價 起點站 車子檔次 車號 票價檔次 站點信息 站點號站點名稱 經(jīng)過 車號 站點次序 站點號 圖 3.5 車次與站點之間關(guān)系 3.3.23.3.2 數(shù)據(jù)庫表設(shè)計數(shù)據(jù)庫表設(shè)計 (1)用戶表 userInfo(如表 3.1) 表 3.1 用戶表信息 列名中文名稱數(shù)據(jù)類型長度允許空 username用戶名varchar50Not null userpassword用戶密碼varchar50Not null use

27、rage用戶年齡int4null address地址varchar50null email郵箱varchar50null question問題varchar50null answer答案varchar50null idnum證件號varchar50null 第 10 頁 共 30 頁 (2)管理員表 administrator(如表 3.2) 表 3.2 管理員信息 列名中文名稱數(shù)據(jù)類型長度允許空 adminiID管理員名Varchar50Not null adminipassword密碼varchar50Not null (3)車次信息表 BusInfo(如表 3.3) 表 3.3 車次信息

28、表 列名中文名稱數(shù)據(jù)類型長度允許空 BusNum車號int4Not null BeginSt起點站varchar50Not null EndSt終點站varchar50Not null TicketNote票價varchar50null BusLevel車子檔次varchar50null Note票檔次varchar50null (4)站點信息表 StInfo(如表 3.4) 表 3.4 站點信息表 列名中文名稱數(shù)據(jù)類型長度允許空 StID站點號int4Not null StName站點名稱varchar50Not null (5)車次與站點關(guān)系表 BusSt(如表 3.5) 表 3.5 車次

29、與站點關(guān)系表 列名中文名稱數(shù)據(jù)類型長度允許空 BusNum車號Int4Not null StID站點號Int4Not null StOrder站點次序Int4Not null (6)商廈信息表 publicplace(如表 3.6) 表 3.6 商廈信息表 列名中文名稱數(shù)據(jù)類型長度允許空 placesid商廈號int4Not null placesname商夏名稱varchar50null 第 11 頁 共 30 頁 (7)站點與商廈關(guān)系表 stplace(如表 3.7) 表 3.7 站點與商廈關(guān)系表 列名中文名稱數(shù)據(jù)類型長度允許空 StId站點號int4Not null placeId商廈號

30、int4Not null (8)留言信息表 message(如表 3.8) 表 3.8 留言信息表 列名中文名稱數(shù)據(jù)類型長度允許空 username用戶名varchar50Not null messagedate留言日期datetime8Not null topic留言主題varchar50Not null email郵箱varchar50null messagetext留言內(nèi)容varchar250Not null id留言序號int4Not null 4 4 公交查詢系統(tǒng)的設(shè)計與實現(xiàn)公交查詢系統(tǒng)的設(shè)計與實現(xiàn) 4.14.1 創(chuàng)建管理員登錄的創(chuàng)建管理員登錄的 ServletServlet (1)

31、打開 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,另一個是 adminpassw

32、ord。然后調(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 sess

33、ion=request.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“) =

34、null ? “ : request.getParameter(“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 adm

35、inistrator where adminiID = “+adminname+“ and adminipassword = “+password+“; rs=stmt.executeQuery(sql); if(rs.next() if (n 0 session.setAttribute(“adminpassword“, password); session.removeAttribute(“rand“); response.sendRedirect(“l(fā)oginSuccess.jsp“); else response.sendRedirect(“error.jsp“); catch(Exc

36、eption e) e.printStackTrace(); finally try if(stmt!=null) stmt.close(); db.freeConnection(conn); catch(Exception e e.printStackTrace(); 4.24.2 創(chuàng)建用戶登錄的創(chuàng)建用戶登錄的 ServletServlet (1)打開 Eclipse 開工具,新建一個 UserLoginServlet 類(如圖 4.3) 第 14 頁 共 30 頁 圖 4.3 創(chuàng)建用戶登錄 UserLoginServlet 類 (2)與管理員中的 ConfirmServlet 類一樣,也生

37、成一個具有私有屬性的 login()方法,該方法也同樣的繼承了 HttpServletRequest 和 HttpServletResponse 類,通過這個類來獲取用戶界面請求過來的參數(shù),當(dāng)通 過用戶信息驗證后,同樣也將用戶賬號和用戶的密碼放入 session 會話變量中, 一旦用戶最終關(guān)閉瀏覽器,session 會話變量也隨即銷毀。 用戶登錄界面(如圖 4.4) 圖 4.4 用戶登錄界面 4.34.3 公交系統(tǒng)查詢模塊公交系統(tǒng)查詢模塊 4.3.14.3.1 商廈查詢商廈查詢 商廈查詢是為用戶提供按具體的名稱(如:歐尚)查詢,并顯示到這個地點所 有公交車車次的相關(guān)信息(如:車號,站點名稱,票

38、價,車子的檔次和這個商廈的名 稱等信息)。而查詢功能的實現(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.getInst

39、ance(); Connection 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

40、 from stinfo,businfo,busst where 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_I

41、NSENSI TIVE,ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); if (rs.first() rs.absolute(m + 1); /將游標(biāo)放到指定位置再加1(也 是開始的第一條記錄的序號) 第 16 頁 共 30 頁 while(i E-H-I 就是查詢出來最短路徑。 最短路徑算法相應(yīng)的程序(利用廣度優(yōu)先遍歷算法查找最短路徑): public Stack getShortestPath2(Object begin,Object end) this.resetVertices(); boolean done=fals

42、e; ArrayList vertexQueue=new ArrayList(); Vertex beginVertex=(Vertex) vertices.get(begin); Vertex endVertex=(Vertex) vertices.get(end); beginVertex.visit(); vertexQueue.add(beginVertex); while(!done 第 25 頁 共 30 頁 vertexQueue.remove(0); Ierator edges=frontVertex.getNeighborIterator(); while(!done ver

43、tex nextNeighbor=edgeToNextNeighbor.getEndVertex(); if(!nextNeighbor.isVisited() nextNeighbor.visit(); nextNeighbor.setPredecessor(frontVertex); vertexQueue.add(nextNeighbor); if(nextNeighbor.equals(endVertex) done=true; Stack path=new Stack(); path.push(endVertex); while(endVertex.getPredecessor()!

44、=null) endVertex=endVertex.getPredecessor(); path.push(endVertex); return path; 4.44.4 公交系統(tǒng)添加模塊公交系統(tǒng)添加模塊 4.4.14.4.1 添加車次添加車次 添加車次功能主要是增加一個車次詳細(xì)信息,其中包括:車次號,起點站, 終點站,票價,汽車檔次,票價類型。需要注意,在添加起點站和終點站的時 候,數(shù)據(jù)都是從站點庫獲得然后添加到起點站和終點站中去。因為添加車次它 只涉及到車次的詳細(xì)信息,如果要想添加站點,則需要在添加站點功能頁面中 進(jìn)行相應(yīng)的操作。 添加車次頁面(如圖 4.12) 第 26 頁 共 30

45、頁 圖 4.12 添加車次 4.4.24.4.2 添加站點添加站點 添加站點功能:(1)在添加站點的文本框中輸入要添加的站點名稱。 (2) 提供了一個站點重名的查找功能,該功能可以對你輸入添加的站點名稱進(jìn)行名 稱查重,通過查詢站點編碼表,顯示這個站點是否已經(jīng)存在。如果不存在,則 將此新增站點名稱插入到站點編碼表中,如果存在,則不需將此站點名稱插入 到站點編碼表中。 (3)通過下拉選擇框選擇新增站點所對應(yīng)的車次號。 (4)如 果查詢站點總數(shù)在文本框中顯示為“0” ,則需要將起點站和終點站同新增的站 點一起插入車次和站點的關(guān)系表中。如果查詢站點總數(shù)在文本框中顯示不為 “0” ,則只需將新增的站點插

46、入車次和站點關(guān)系表中即可。 添加站點頁面(如圖 4.13) 圖 4.13 添加站點 4.54.5 公交系統(tǒng)刪除模塊公交系統(tǒng)刪除模塊 4.5.14.5.1 刪除車次刪除車次 刪除車次功能:分頁列出車次信息表中所有的車次信息,選擇操作中的刪 除,就可以將對應(yīng)的車次信息刪除,但是在刪除車次信息的時候需要先刪除車 次與站點關(guān)系表中所有對應(yīng)該車次的信息。如果不先刪除就會出現(xiàn)違反數(shù)據(jù)庫 完整性。 刪除車次頁面(如圖 4.14) 圖 4.14 刪除車次 第 27 頁 共 30 頁 4.5.24.5.2 刪除站點刪除站點 刪除站點功能:通過車次的下拉選擇框選擇車次,進(jìn)行查詢列出該車次的 所有站點信息,然后點擊

47、刪除操作就可以刪除該站點。需要注意:因為在車次 中從起點站到終點站計算,其所有的站點是一個有次序的排列,所以刪除一個 站點,則它的下個站點次序號依次減少一位。 刪除站點頁面(如圖 4.15) 圖 4.15 刪除站點 4.64.6 公交系統(tǒng)更新模塊公交系統(tǒng)更新模塊 更新站點功能:通過車次的下拉選擇框選擇車次,進(jìn)行查詢列出該車次的 所有站點信息,然后點擊更新操作就可以更新該站點。需要注意的是,在更新 起點站(或是終點站)的時候,也要同時更新車次表中的起點站(或是終點站) 。 更新站點頁面(如圖 4.16) 圖 4.16 更新站點 第 28 頁 共 30 頁 4.74.7 公交系統(tǒng)留言板模塊公交系統(tǒng)

48、留言板模塊 4.7.14.7.1 發(fā)表留言發(fā)表留言 發(fā)表留言是公交查詢系統(tǒng)的一個新增的功能,主要是收集用戶的留言信息, 可以根據(jù)用戶提供的留言信息或是提出的建議,對系統(tǒng)進(jìn)行修改和完善。使得 系統(tǒng)更加趨于成熟完整。注冊的用戶登錄到發(fā)表留言的板塊當(dāng)中,系統(tǒng)會自動 提取用戶名稱,用戶只需添上自己的郵箱,發(fā)表的主題和內(nèi)容即可。 發(fā)表留言頁面(如圖 4.17) 圖 4.17 發(fā)表留言 4.7.24.7.2 查看留言查看留言 查看留言很簡單為用戶提供了一個查看自己的發(fā)表的留言,而其它用戶是 不能看見的。因為系統(tǒng)是一個管理方面的功能較多,所以不會將用戶留言信息 提供其它的用戶查看。 查看留言(如圖 4.18

49、) 圖 4.18 查看留言 4.7.34.7.3 刪除留言刪除留言 刪除留言功能只有管理員才能查看并操作,在刪除的顯示頁面中會將所有 的用戶留言信息及用戶名顯示出來。這樣也為管理員提供查看哪些用戶是非法 的發(fā)布留言內(nèi)容。針對這種情況刪除該用戶。 第 29 頁 共 30 頁 刪除留言頁面(如圖 4.19) 圖 4.19 刪除留言 5 5 系統(tǒng)測試與分析系統(tǒng)測試與分析 設(shè)計完成系統(tǒng)的各個模塊之后,需要對整個系統(tǒng)進(jìn)行全面的測試。目的是 讓整個系統(tǒng)能夠快速、穩(wěn)定、安全的運行。在進(jìn)行系統(tǒng)測試過程中出現(xiàn)如下幾 種情況: (1)對頁面提交的過來的數(shù)據(jù)進(jìn)行空指針異常捕捉。凡是遇到無效或是空 值數(shù)據(jù)都需要用程序

50、進(jìn)行操作處理。 (2)及時的捕捉數(shù)據(jù)庫連接和關(guān)閉異常。以免數(shù)據(jù)庫連接資源及時釋放, 提供下一次請求調(diào)用。 (3)對數(shù)據(jù)庫查詢操作異常進(jìn)行捕捉。 (4)對數(shù)據(jù)庫查詢操作異常進(jìn)行捕捉。 (5)對數(shù)據(jù)庫更新操作異常進(jìn)行捕捉。 (6)對數(shù)據(jù)庫添加操作異常進(jìn)行捕捉。 (7)對數(shù)據(jù)庫刪除操作異常進(jìn)行捕捉。 (8)權(quán)限控制,通過 session 會話變量對管理員和用戶的權(quán)限進(jìn)行控制。 (9)頁面的編碼方式不同,需要的對字符串進(jìn)行轉(zhuǎn)碼操作。 結(jié)結(jié) 論論 通過對 J2EE 知識的認(rèn)真學(xué)習(xí),理論聯(lián)系實踐,最終完成了基于 J2EE 公交 查詢系統(tǒng)的設(shè)計與實現(xiàn)。經(jīng)過多次測試,運行效果良好。對于該系統(tǒng),加強(qiáng)后 臺管理,

51、就可以單獨作為大型公交管理系統(tǒng)的一個模塊,也可以將它的功能更 加完善后放置于城市公共場所,為人們提供快捷、方便的查詢。這樣不僅體現(xiàn) 出一個城市的公交查詢系統(tǒng)的發(fā)展水平,更可以顯示出城市的數(shù)字化和信息化 水平。公交查詢系統(tǒng)的開發(fā)利用也必將促使城市公交更好的服務(wù)于人們。 在完成這次畢業(yè)設(shè)計的過程中,自己查閱了大量的書籍,并且通過互聯(lián)網(wǎng) 也查閱了許多相關(guān)資料,開發(fā)出具有 B/S 結(jié)構(gòu)模式的公交系統(tǒng),從而使我的編 程能力和自學(xué)能力得到了很大程度的提高,對網(wǎng)站設(shè)計有了更深地了解。 但是,由于整個系統(tǒng)完全都是由個人設(shè)計的,有關(guān) J2EE 許多知識都要靠自 己去摸索,加之自己水平有限,未能完全地理解 J2E

52、E 的強(qiáng)大功能,因此,系統(tǒng) 第 30 頁 共 30 頁 還存在著許多不足之處。 參考文獻(xiàn)參考文獻(xiàn) 1 劉曉華.J2EE 企業(yè)級應(yīng)用開發(fā)M.北京:飛思科技產(chǎn)品研發(fā)中心,2003。 2 賽奎春,陳威.JSP 工程應(yīng)用與項目實踐M.北京:清華大學(xué)出版社,2004。 3 Cay S.Horstmann,Gary Cornell.java 核心技術(shù)卷 2 高級特性M.北京:機(jī)械工業(yè)出 版社,2003。 4 Frank M.Carrano,Walter Savitch.數(shù)據(jù)結(jié)構(gòu)與抽象:Java 語言版M.北京:清華大 學(xué)出版社,2005。 5 孫衛(wèi)琴,李洪成.Tomcat 與 Java Web 開發(fā)技術(shù)詳解M.北京:電子工業(yè)出版社,2004。 6 高鐵杠,顧巧論.智能公交查詢系統(tǒng)J.新技術(shù)應(yīng)用,2005,(7):31-32。 7 王宏.SQL Server 2000 數(shù)據(jù)庫管理M.北京:人民郵電出版社,2001。

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!