版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、癢科空早業(yè)笹丈(筱針)題目:基于JSP的公交查詢系統(tǒng)設(shè)計與實現(xiàn)所在系: _專 業(yè): _姓 名: _學(xué) 號: _指導(dǎo)教師:論文完成日期: 2012 年5月5日基于JSP的公交査詢系統(tǒng)設(shè)計與實現(xiàn)摘要公交宜詢系統(tǒng)是城市道路交通的重要組成部分,是城市發(fā)展的必然產(chǎn)物,是聯(lián)系國民生活、社會生產(chǎn)和 流通領(lǐng)域的關(guān)鍵環(huán)節(jié).一些地區(qū)公交直詢系統(tǒng)的發(fā)展處于一個較落后的水平,人們可以獲得信息的方式較 少f為了解決這種問題,提出了基于JSP的公交童詢系統(tǒng)。本文首先對公交直詢系統(tǒng)的需求進行了分析,包括功能需求和m助能需求;接著介紹了系統(tǒng)總體設(shè)計 思路、方宰選擇和數(shù)據(jù)庫設(shè)計;隨后詳細闡述了系統(tǒng)主要功能模塊的實現(xiàn)過程;最后給
2、出系統(tǒng)的測試方宰. 本公交亙詢系統(tǒng)主要具有公交童詢、用戶留言、用戶管理和后臺車次管理功能.公交宜詢包括車次、站點、 換乘等方宰的童詢;用戶留言主要是收隼用戶的留言信息,以方便根據(jù)用戶提供的留言信息或是提出的建 議對系統(tǒng)進行修改和完善;用戶管理功能主要是刪除用戶信息和修改用戶注冊的基本信息;后臺車次管理 功能主要是添加車次和站點功能、更新車次和站點功能、刪除車次和站點功能.本系統(tǒng)基于B/S模式開發(fā), 采用JSP技術(shù),SQL Server 2000構(gòu)建后臺數(shù)據(jù)庫。本系統(tǒng)的使用在方便廣大市民,提高市民乘車效率的同時,也為信息化技術(shù)在城市現(xiàn)代化建設(shè)中,提 供了有益的探索。關(guān)鍵詞:JSP ; SQL ;
3、 JDBC ;公交直詢TheThe PublicPublic TransportTransport InquiryInquiry SystemSystemBasedBased onon JSPJSPAbstractAbstractPublic transport inquiry system is an important part in traffic and transportation domain, and its also the in evitable result of social econom/s developme nt in urba n areas. As an imp
4、orta nt 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 system of public transportation developments in some cities is in a comparatively backward level. The general passe
5、ngers have less way to obtain the information .In order to solve this kind of problem, an inquiry system of public transport in Chengdu based on JSP is designed.This paper firstly analyzed the requirements of public transport inquiry system, including functional requirements and non-functional requi
6、rements. Then introduces the comprehensive design of the system, system scheme selection and design of database. Then expounded the implementation process of the main functional modules of the system. Fin ally offers the test plan of the system. The public transport inquiry system includes bus enq u
7、iries,the functions of consumer message, the bus nu mber man aging on the backstage and the consumer managing.The bus enquiries has included the inquiry of trips, sites,transfer and so on .The function of consumer message mainly collects suggestions from consumer to modify and perfect the system fun
8、ctions 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 addf update and delete the bus number and the station on the backstage. The system is based on B / S model development, using the
9、 standard JSP language and built by SQL Server 2000 database.Using the system is not just convenient for the general public, improving work efficiency, but also provides beneficial exploration for the information technology modernization in the city.KeyKey words:words: JSP; SQL; JDBC; public transpo
10、rt inquiry論文總頁數(shù):28頁一、 引言 .1(一) 選題背景 .1(二) 開發(fā)環(huán)境及技術(shù)簡介 .11. JSP基礎(chǔ)知識 .12.JDBC.13.JSP Servlet.24.開發(fā)環(huán)境.25.本文主要工作.2二、 系統(tǒng)需求分析 .3(-)系統(tǒng)調(diào)研.3(二) 系統(tǒng)目標 .3(三) 系統(tǒng)的功能需求 .31.系統(tǒng)需求描述.32.系統(tǒng)數(shù)據(jù)流圖.33.系統(tǒng)的功能.4(四) 系統(tǒng)非功能需求 .51.精度.52.安全性要求.53.時間特性要求.54.靈活性.6三、 系統(tǒng)設(shè)計 .6(一) 系統(tǒng)總體設(shè)計 .6(二) 系統(tǒng)方案選擇 .8(三) 系統(tǒng)數(shù)據(jù)庫設(shè)計 .91.數(shù)據(jù)庫設(shè)計.92.系統(tǒng)E-R圖 .10
11、3.數(shù)據(jù)庫表結(jié)構(gòu).11四、 系統(tǒng)實現(xiàn) .13(-)用戶登錄模塊.13(二) 用戶個人信息管理模塊.14(三) 公交系統(tǒng)查詢模塊.151.車次信息査詢 .152.站點信息査詢.163.公交換乘方案查詢.18(四) 站點信息管理模塊 .191.刪除站點 .192.添加站點.20(五) 車次信息管理模塊 .211.刪除車次 .212.添加車次.21(六) 留言板模塊 .221.發(fā)表留言 .222.查看留言.233.刪除留言.23五、系統(tǒng)測試與分析 .24(-)測試概述 .241.測試目的 .242.測試原則.253.測試方法.25(二) .測試用例25(三) .測試分析25結(jié)束語 .26參考文獻 .
12、27一、引言(一)選題背景隨著城幣經(jīng)濟發(fā)展,城市規(guī)模越來越大,相應(yīng)的城市公交系統(tǒng)也越來越龐大。許多 新建小區(qū)大呈出現(xiàn),公交線路也日漸增多,給人們的岀行帶來了極大便利,但是由于城 市規(guī)模的不斷發(fā)展,給人們選擇出行乘車線路造成了一立的困難,所以需要提供一個髙 效的查詢系統(tǒng),才是問題根本所在?;贘SP的公交查詢系統(tǒng),是基于B/S模式的査詢 系統(tǒng)。它不僅可以用于公交公司管理系統(tǒng)中,也可以單獨作為公交管理系統(tǒng)的一個模塊 存在,并可以制作成公交信息系統(tǒng)査詢網(wǎng),放宜于城市的主要場所。這樣不僅可以體現(xiàn) 岀一個城市的智能公交系統(tǒng)的水平,更顯示出城市的數(shù)字化,信息化水平。本項目研究的基于JSP的公交查詢系統(tǒng),包
13、括公交查詢系統(tǒng)的大部分功能,并提供 了用戶留言的功能,以方便根據(jù)用戶提供的留言信息或是提岀的建議對系統(tǒng)進行修改和 完善,并提供了管理員用戶后臺維護公交信息的功能,做到能夠?qū)崟r添加和刪除公交車 次站點。為用戶査詢提供更會準確的信息。(二)開發(fā)環(huán)境及技術(shù)簡介1.JSP基礎(chǔ)知識JSP是“Java Server Pages”的縮寫,可以解釋為“基于Java的服務(wù)端動態(tài)頁面 技術(shù)”。因為Java是編譯解釋執(zhí)行的,所以JSP也就擺脫了 VBScript、P亡rl等腳本語 言純粹的解釋執(zhí)行帶來的低效率問題。因為Java是平臺無關(guān)的,所以JSP是跨平臺的。 基于Java是JSP區(qū)別包含ASP (Active
14、Server Pages)在內(nèi)的其它服務(wù)端動態(tài)頁而技 術(shù)的重要特征。JSP是服務(wù)端技術(shù),所以JSP文檔要先經(jīng)服務(wù)端翻譯、解釋、執(zhí)行,才 能得到客戶端瀏覽器能識別的HTML文檔。這是當(dāng)前Web技術(shù)的潮流,是解決客戶端瀏 覽器兼容性問題的客觀需要。服務(wù)端技術(shù)是JSP區(qū)別于JavaScript、VBScript等客戶 端動態(tài)頁而技術(shù)的重要牲。JSP是一種頁而技術(shù),而現(xiàn)在JSP只實現(xiàn)了 HTTP (Hypertext Transfer Protocol)協(xié)議,只能應(yīng)用于Web頁面。這是JSP區(qū)別于Servlet的重要牲。 JSP是一種動態(tài)技術(shù),這是JSP基于Java的自然延伸。在頁面中引入程序設(shè)計語言
15、的 目的是正是為了實現(xiàn)動態(tài)交互。因此,JSP就是基于Java的服務(wù)端動態(tài)頁而技術(shù)。JSP技術(shù)讓動態(tài)網(wǎng)而更易編寫,功能更強,可移植性更好。概括起來,JSP的設(shè)訃 目標主要有以下幾點:(1)一次編寫,到處運行(2)加強組件能力(3)作為Java企業(yè)平臺的門戶(4)更容易建立動態(tài)頁而2.JDBCJDBC是執(zhí)行SQL語句的Java API苴實,JDBC本身是一個產(chǎn)品的商標劣。相對與第1頁共28頁 ODBC (Open Database Connectivity 開放數(shù)據(jù)庫連接),也可以把 JDBC 看作 Java Database Connectivity (Java數(shù)據(jù)庫連接)。它由一組用Java語
16、言編寫的類與接口 組成。JDBC已成為一種供工具/數(shù)據(jù)庫開發(fā)者使用的標準API,用戶可以用純Java API 來編寫數(shù)據(jù)庫應(yīng)用。使用JDBC可以很容易地把SQL語句傳送到任何關(guān)系型數(shù)據(jù)庫中。用戶不需要為每 一個關(guān)系數(shù)據(jù)庫單獨寫一個程序。用JDBC API寫出唯一的程序,能夠?qū)QL語句發(fā)送 到相應(yīng)的任何一種數(shù)據(jù)庫。Java與JDBC的結(jié)合,使程序員可以只寫一次數(shù)據(jù)庫應(yīng)用軟 件后,就能在各種數(shù)據(jù)庫系統(tǒng)上運行。由于Java語言具有健壯性、安全、易使用、易 理解和自動下載到網(wǎng)絡(luò)等優(yōu)點,因此,它是數(shù)據(jù)庫應(yīng)用的一個極好的基礎(chǔ)語言?,F(xiàn)在需 要找到一種能使Java應(yīng)用與各種不同數(shù)據(jù)庫對話的方式,而JDBC正
17、是實現(xiàn)這種對話的 一種機制。JDBC擴充了 Java的應(yīng)用范用。隨著學(xué)習(xí)Java程序設(shè)計的人越來越多,對Java的 數(shù)據(jù)庫的訪問需求越來越迫切。HIS管理員希望Java與JDBC結(jié)合,因為這有助于更容 易、更經(jīng)濟地發(fā)布企業(yè)信息。而各個公司可以不斷地使用已安裝的數(shù)據(jù)庫,方便地存取 信息,不必顧及這些數(shù)據(jù)庫是在何種DBMS系統(tǒng)下存儲的。有助于縮短新應(yīng)用的開發(fā)時 間,并可大大簡化數(shù)據(jù)庫的安裝與版本控制。另外,在商業(yè)銷售信息服務(wù)領(lǐng)域,Java 與JDBC則可以更好地向外界客戶提供最新信息。3.JSP ServletJava Servlet使用的是一種請求/響應(yīng)機制,也就是說通過特泄的Java程序設(shè)訃
18、技術(shù),由該Servlet動態(tài)產(chǎn)生的響應(yīng)向某一特定的請求做岀響應(yīng)。Servlet所能應(yīng)用的 請求/響應(yīng)場合很多,但常用的還是在Web應(yīng)用程序中用于產(chǎn)生超文本傳輸協(xié)議響應(yīng) (HTTP)o據(jù)此,Servlet可能取代其他類型的HTTP請求/響應(yīng)機制,譬如通用網(wǎng)關(guān)接 口 (CGI)腳本。4.開發(fā)環(huán)境本系統(tǒng)的開發(fā)采用JSP、Servletx JavaBean、JavaScript、JDBC等技術(shù)。本系統(tǒng) 使用MyEclipse作為開發(fā)環(huán)境,JDK釆用1. 5版本,Tomcat 6. 0作為Web服務(wù)器。數(shù)據(jù) 庫采用 SQL Server 2000。5.本文主要工作本文主要綜合介紹整個系統(tǒng)。第一部分為引言
19、,主要對項目開發(fā)的意義和項目的開發(fā)環(huán)境、開發(fā)技術(shù)進行介紹:第二部分為系統(tǒng)需求分析,主要描述系統(tǒng)的調(diào)研情況,以及系統(tǒng)功能需求和系統(tǒng)非 功能需求,簡單的介紹了系統(tǒng)的主要功能模塊,包括用戶登錄、公交查詢、留言管理和 管理員維護等模塊;第三部分為系統(tǒng)設(shè)汁,主要解釋了系統(tǒng)結(jié)構(gòu)設(shè)計、方案的選擇和系統(tǒng)數(shù)據(jù)庫的設(shè)訃;第2頁共28頁第四部分為系統(tǒng)功能模塊的實現(xiàn),描述了各個功能模塊的實現(xiàn),并給出關(guān)鍵模塊的 實現(xiàn)代碼以及運行的效果截圖:最后部分對系統(tǒng)做了整體測試,給岀系統(tǒng)功能測試用例表。二、系統(tǒng)需求分析(一)系統(tǒng)調(diào)研在一些城市公交信息化發(fā)展中已有公交查詢系統(tǒng),查詢城市公交換乘方案等。有很 多系統(tǒng)沒有后臺的維護管理功
20、能,公交信息不能實時的更新,本系統(tǒng)提供了管理員進行 添加、刪除車次站點等功能,并提供了用戶留言的功能,更加具有實時性和人性化,使 公交管理公司能夠?qū)τ脩籼峁┑牧粞孕畔⒑吞岢龅慕ㄗh對系統(tǒng)進行修改和完善。(二)系統(tǒng)目標本項目設(shè)立的目標如下:(1)方便市民更好地掌握公交有關(guān)信息,輔助公交管理。(2)適應(yīng)城市未來公共交通及社會交通模式快速變化的要求,適應(yīng)公交運輸體制改 革的要求、適應(yīng)城市公交服務(wù)向更高層次發(fā)展的要求。(3)為未來智能公交系統(tǒng)查詢系統(tǒng)以及開發(fā)基于更廣大用戶的開放式的網(wǎng)絡(luò)查詢系 統(tǒng)打下基礎(chǔ)。(三)系統(tǒng)的功能需求1.系統(tǒng)需求描述系統(tǒng)需求:城市公交查詢系統(tǒng)需要滿足來自兩方面的需求,分別是查詢公
21、交系統(tǒng)的普通用戶, 后臺維護管理人員。查詢公交系統(tǒng)的普通用戶的需求是查詢城市公交線路、站點和換乘方案等信息。后 臺維護管理人員對后臺數(shù)據(jù)庫的備份和恢復(fù),添加公交線路站點和更改已有公交線路站 點在城市公交查詢系統(tǒng)開發(fā)時應(yīng)該滿足以下具體的系統(tǒng)需求:(1)滿足用戶査詢公交信息的基本要求。(2)滿足后臺管理人員方便更改城市公交線路站點等信息的基本要求。(3)對使用該系統(tǒng)的用戶技能要求比較低,操作方便。(4)能夠使用人機互交,界而大方得體,實用。(5)能夠保障城市公交信息數(shù)據(jù)的安全,準確2.系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖如圖1所示。第3頁共28頁基于系統(tǒng)需求分析,以下為該系統(tǒng)的相應(yīng)基本功能:如圖所示,管理員登
22、錄系統(tǒng)后,可進行車次管理、站點管理、線路笛理、刪除用戶 等操作。普通用戶注冊登錄后,可進行公交信息查詢、留言版留言。3 系統(tǒng)的功能系統(tǒng)功能模塊圖如圖2所示。圖2系統(tǒng)功能模塊圖第4頁共28頁賬號圖1系統(tǒng)數(shù)據(jù)流圖(1)用戶登錄模塊管理員和普通用戶分別擁有自己的用戶劃和密碼。對于普通用戶注冊后如果登錄成 功,則直接進入到用戶個人主界而并選擇各種操作,否則會返回到登錄界而重新進行登 錄。管理員登錄成功進入管理員界而選擇各種操作。(2)公交系統(tǒng)査詢模塊普通用戶登錄成功后可根據(jù)自己需要進行公交查詢。有包括車次查詢、站點查詢和 査詢公交換乘方案等。車次査詢即為根據(jù)車次號査詢車次經(jīng)過的站點,該車次開收車時 間
23、,票價等基本信息;站點査詢?yōu)榻?jīng)過該站點的車次信息;公交換乘方案查詢即分別輸 入起始站點和目的站點并査詢公交乘車方案。(3)留言板模塊普通用戶登錄系統(tǒng)后,進入留言版模塊,用戶可以提出自己的一些看法意見和對本 公交系統(tǒng)的建議,以供公交管理人員根據(jù)用戶建議更加完善本系統(tǒng),并能査看以前的留(4)用戶個人信息管理模塊用戶登錄成功后即可進入到用戶的個人主界而,在個人主界而中,用戶可以査看個 人詳細信息,包括用戶名賬號,保護郵箱等信息,并可以自行修改密碼等個人信息,最 后注銷登錄返回到系統(tǒng)登錄界面。(5)站點信息管理模塊管理員登錄系統(tǒng)后進入相應(yīng)管理員主界而,在管理員主界而中,可對公交站點信息 進行添加和刪除
24、,實時更新公交變動信息。(6)車次信息管理模塊管理員登錄系統(tǒng)后進入相應(yīng)管理員主界而,在管理員主界而中,可對公交車次信息 進行添加和刪除,實時更新公交變動信息。(四)系統(tǒng)非功能需求1.精度本系統(tǒng)所需的數(shù)據(jù)類型主要包括用戶名、密碼等。相關(guān)精度要求如下:用戶爼:英文加數(shù)字組合,并以英文開頭。例如:“ddl23”密碼:5到12位密碼。例如“yxl23”在登錄時,必須注意所選擇的身份跟用戶名和密碼要保持一致。2.安全性要求本系統(tǒng)的用戶分為管理員和普通用戶兩類,用戶登錄時需要根據(jù)權(quán)限選擇不同的功 能,每個用戶都有自己固定的用戶名和密碼。3.時間特性要求響應(yīng)時間:基本的信息查詢響應(yīng)時間最長為5秒。對于維護或
25、者批量修改更新數(shù)據(jù)第5頁共28頁 庫的內(nèi)容響應(yīng)時間則根據(jù)具體軟件和硬件情況而泄。4.靈活性對設(shè)備的要求較低,且具有良好的可移植性,用戶無論何時何地都可以方便、快捷 地使用該系統(tǒng),具有較強的靈活性和方便性。三、系統(tǒng)設(shè)計(一)系統(tǒng)總體設(shè)計本系統(tǒng)設(shè)計使用了而向?qū)ο蠹夹g(shù)和模塊化技術(shù)。而向?qū)ο蠹夹g(shù)是一種軟件開發(fā)和程 序設(shè)計技術(shù),北所開發(fā)的程序是而向?qū)ο蟪绦?,直接描述客觀世界的對象及英相互關(guān)系。 對象是封裝了數(shù)據(jù)和操作的程序塊。所謂封裝是為這個程序塊建立顯示的界而,苴它對 象只能向這個界而發(fā)消息,不能訪問內(nèi)部的私有數(shù)拯和操作。因此,內(nèi)部的數(shù)據(jù)和實現(xiàn) 操作的算法若有改動,對其它程序?qū)ο鬀]有任何影響。封裝使程
26、序局部化、易修改、好 維護,但許多對象有相同的功能時免不了重復(fù),所以而向?qū)ο蠹夹g(shù)有繼承的機制。此外, 由于對象自己操作自己的數(shù)據(jù),對同一消息不同的對象均以自己的方式響應(yīng),使得一種 消息可有多種響應(yīng)方式,這就是多態(tài)性。封裝、繼承、多態(tài)是而向?qū)ο蟪绦虻闹饕卣鳌?正是這些特征使程序安全、可靠、可重用、易維護。因而面向?qū)ο蠹夹g(shù)也成為當(dāng)今計算 機的新興技術(shù)。系統(tǒng)總體流程如圖3所示。第6頁共28頁開始NN圖3系統(tǒng)流程圖圖3詳細闡述了該系統(tǒng)的整體操作流程。首先用戶進行登錄,選擇登錄身份是普通 用戶或者管理員,如果用戶拿和密碼正確則進入到相應(yīng)的用戶個人主界而,否則返回登 錄界而重新進行登錄。在用戶個人主界而
27、,用戶可以進行各自需要的操作。若用戶為普 通用戶,則可以進行查詢公交信息,留言,注銷和更改個人信息等操作;用戶為管理員, 可添加刪除公交信息。最后,用戶操作完中,即可退出本系統(tǒng),整個系統(tǒng)操作流程到此 結(jié)束。第7頁共28頁(二)系統(tǒng)方案選擇目前比較流行的系統(tǒng)軟件開發(fā)技術(shù)有ASP.NET或JSP (Java Server Pages)與WEB 數(shù)據(jù)庫相結(jié)合兩種,分別由微軟和SUN公司開發(fā)的一種動態(tài)網(wǎng)頁語言。都是非常完備的 開發(fā)技術(shù)。目前網(wǎng)絡(luò)上和各大文獻也對兩者進行了比較,其中各有優(yōu)缺點。首先,JSP與微軟的ASP技術(shù)非常相似。兩者都提供在HTML代碼中混合某種程序 代碼、由語言引擎解釋執(zhí)行程序代碼
28、。在ASP或JSP環(huán)境下,HTML代碼主要負責(zé)描述信息的顯示樣式,而程序代碼則用 來描述處理邏輯。普通的HTML頁而只依賴于WEB服務(wù)器,而ASP和JSP頁面需要附加 的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然 后一起發(fā)送給瀏覽器。ASP和JSP都是而向WEB服務(wù)器的技術(shù),客戶端瀏覽器不需要任 何附加的軟件支持。ASP的編寫語言是基于VB的腳本語言,JSP使用的是JAVA,這是兩者最明顯的區(qū) 別。ASP與JSP還有一個更為本質(zhì)的區(qū)別:兩種語言引擎用完全不通的方式處理頁面中 嵌入的程序代碼。在ASP下,基于VB的腳本代碼被ASP引擎解釋執(zhí)行;在JSP下,代 碼
29、被編譯成Servlet并由JAVA虛擬機執(zhí)行,這種編譯操作僅在對JSP頁而第一次請求 是發(fā)生。動態(tài)語言JSP和ASP在性能上的比較如表1所示。表1 JSP與ASP性能對比表性能JSPASP運行速度快較快運行損耗較小較大難易程度容易學(xué)握簡取運行平臺絕大部分平臺Windws平臺擴展性好較好安全性好較差函數(shù)支持多較少數(shù)據(jù)庫支持多多廠商支持多較少對XML的支持支持不支持對組件的支持支持支持對分布式處理的支持支持支持應(yīng)用程度較廣較廣由上表我們可以很淸楚的發(fā)現(xiàn)JSP具有運行速度快,運行耗損小,跨平臺性,通用 性好,良好的結(jié)構(gòu),強大的數(shù)據(jù)庫等都更比ASP. NET更具優(yōu)越性。兩者中,JSP應(yīng)該 是未來發(fā)展的
30、趨勢?;贘SP的眾多技術(shù)優(yōu)點和當(dāng)前發(fā)展的趨勢,在參考了大量文獻資 料后,我決是選取JSP作為開發(fā)本公交查詢系統(tǒng)的主要技術(shù)。第8頁共28頁而數(shù)據(jù)庫選用SQL Server 2000因英有以下優(yōu)點:2000支持存儲器、觸發(fā)器、自立義函數(shù)等操作;安全性、并發(fā)控制能力、數(shù)據(jù)挖 掘、聯(lián)機操作等方而都是ACCESS無法超越的。當(dāng)前,主流的抽象WEB應(yīng)用體系(l)SQL Server 2000數(shù)據(jù)庫應(yīng)用于中小型企業(yè)。 SQL Server 2000的分布式、復(fù)制、全文檢索、DTS都可以滿足中型的應(yīng)用。(2)SQL Server 2000的數(shù)據(jù)存儲在它本身的文件內(nèi),在安裝目錄下的DATA目錄下, 有和數(shù)據(jù)庫
31、同名的數(shù)據(jù)文件和日志文件組成。(3)SQL Server結(jié)構(gòu)主要有兩種:即C/S客戶機/服務(wù)器結(jié)構(gòu)以及B/S瀏覽器/服 務(wù)器結(jié)構(gòu)。C/S (Client/Server)結(jié)構(gòu),即大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體 系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和 Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是 Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā) 展,Web和Client/Server應(yīng)用都可以進行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯 組件:因此,內(nèi)部的和外部的用戶都可以訪問新
32、的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系 統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。B/S (Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)它是隨著Internet技術(shù)的興 起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW 瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù) 器端(Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷, 減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。以目前的技術(shù)看,局 域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intran
33、et模式下數(shù)據(jù)庫應(yīng)用,相對易 于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點, 以不同的接入方式(比如LAN、WAN、Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫; 它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。比較C/S和B/S優(yōu)缺點發(fā)現(xiàn),B/S模式具有分布性特點,可以隨時隨地進行業(yè)務(wù)處 理。業(yè)務(wù)擴展簡單方便,通過增加網(wǎng)頁即可增加服務(wù)功能。維護簡單方便,只需改變網(wǎng) 頁,即可實現(xiàn)所有用戶的同步更新;開發(fā)簡單,共享性強等。結(jié)合本系統(tǒng)實際情況,我選擇采用B/S模式。因此,本系統(tǒng)開發(fā)選用JSP+SQL Server方案,基于B/S模式開發(fā)。
34、(三)系統(tǒng)數(shù)據(jù)庫設(shè)計1.數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中大量的數(shù)據(jù)按一左的模型組織起第9頁共28頁 來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫 中獲得所需的信息。數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結(jié)合在一起以及如何結(jié)合 的關(guān)鍵所在。因此,數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。本系統(tǒng)數(shù)據(jù)庫表有 administrator 表、Bus Info 表、BusSt 表、message 表、Stlnfo 表、userinfo表等共6張表。其中administrator表為管理員表,保存有管理員名和 密碼信息;message表為留言信息表;u
35、serinfo表為用戶表,保存有用戶注冊信息: Bus Info表為車次信息表,存有起點站和終點站信息:Stlnfo表為站點表,存有本系統(tǒng) 所有的站點,為系統(tǒng)站點庫;BusSt表為每個車次中間站點與車次線路的關(guān)聯(lián)表。2.系統(tǒng)E-R圖(1)用戶實體及屬性如圖3所示。圖3用戸實體及屬性(2)管理員實體及屬性如圖4所示。圖4管理員實體及屬性(3)留言板實體及屬性如圖5所示。第10頁共28頁圖5留言板實體及屬性圖6車次與站點之間關(guān)系3.數(shù)據(jù)庫表結(jié)構(gòu)(1)用戶表userinfo如表2所示。表2用戸表信息列名中文名稱數(shù)據(jù)類型長度允許空username用戶名varchar50Not nulluserpass
36、word用戶密碼varchar50Not nulluserage用戶年齡int4nulladdress地址varchar50nullemail郵箱varchar50nullquestion問題varchar50nullanswer答案varchar50nullldnum證件號varchar50null第11頁共28頁(2)管理員表administrator如表3所示。表3管理員信息列名中文名稱數(shù)據(jù)類型長度允許空adminilD管理員名varchar50Not nulladminipassword密碼varchar50Not null(3)車次信息表Businfo如表4所示。表4車次信息表列名中
37、文名稱數(shù)據(jù)類型長度允許空BusNum車號int4Not nullbeginStid起始站號int4NullBeginSt起點站varchar50Not nullendStid終點站號int4NullEndSt終點站varchar50Not nullTicketNote票價varchar50NullBusLevel車子檔次Varchar50NullNote票檔次varchar50Null(4)站點信息表St Info如表5所示。表5站點信息表列名中文名稱數(shù)據(jù)類型長度允許空StID站點:;Int4Not nullAtXame站點名稱Varchar50Not null(5)中間站點關(guān)聯(lián)表BusSt如
38、表6所示。表6站點信息表列名中文名稱數(shù)據(jù)類型長度允許空id編號int4Not nullBusNum車號int4Not nullStID站點號int4Not nullStOrder站點序號int4null(6)留言信息表message如表7所示。表7留言信息表列名中文名稱數(shù)據(jù)類型長度允許空username用戶名varchar50Not nullmessagedate留言日期datetime8Not nulltopic留言主題varchar50Not nullemail郵箱varchar50Nullmessagetext留言內(nèi)容varchar250Not nullid留言序號int4Not nul
39、l第12頁共28頁用戶登陸普通用戶或者管理員管理員普通用戶用戶名和密碼是否正確進入普通用戶主界面進入管理員主界面四、系統(tǒng)實現(xiàn)(一)用戶登錄模塊1.模塊功能描述該系統(tǒng)的用戶應(yīng)為普通用戶或管理員,他們分別有自己的用戶需和密碼,用戶選擇 身份后,進入到各自的登錄界而,輸入相應(yīng)的用戶冬和密碼,如果登錄成功后,即可進 入到相應(yīng)的個人主界面,否則將給予岀錯提示,并返回登錄界而重新登錄。2 用戶登錄流程如圖7所示。圖7用戶登陸流程圖3.關(guān)鍵代碼實現(xiàn)String adminname = reqiiest.getParameter(Hadminname,r) = null ? Mn request.getPar
40、ameter(Madminnamc,r);adminname = exChange(adminnanie);字符串亂碼處理String password = request.getParameter(,passwordM) = null ?request.getParameter(Hpasswordn);password = exChange(password); 字符串亂碼處理第13頁共28頁String sql =HN;String rand = (String) session.getAttribute(nrandM);String input = reqiiest.getParamet
41、er(uvaildu);int n = 0;try conn = db.getConnection();stmt = conn.createStatement();sql = select * from administrator where adminilD = ,H+adminname+,M and adminipassword = ,H+password+HM,;rs = stmt.executeQuety(sql);if (rs.nextO & rs != null) n+;if (n 0 & input.cquals(rand) session.setAttribute(,admin
42、name, adminname); session.setAttribute(nadminpasswordM, password); session.removeAttribute(MrandH); response.sendRedirect(,loginSuccess.jsp,); else response.sendRedirect(Herror.jspH);4.模塊運行界面如圖8所示。歡迎登錄本站圖8用戶登陸界而圖8為用戶登錄界面,用戶需要輸入用戶名和密碼,如果輸入正確,則直接進入到 用戶主界而,否則返回登錄界面重新登錄。(二)用戶個人信息管理模塊1.模塊功能描述用戶登錄成功后即可進入到
43、用戶的個人主界面,在個人主界而中,用戶可以查看個 人詳細信息,包括用戶爼賬號,保護郵箱等信息,并可以自行修改密碼等個人信息,最 后注銷登錄返回到系統(tǒng)登錄界面。第14頁共28頁2模塊流程如圖9所示。用戶名密碼用戶查看 個人信息用戶修改 個人信息注銷返回登錄界面圖9用戶個人信息流程圖(三)公交系統(tǒng)査詢模塊1.車次信息査詢(1)模塊功能描述用戶登錄成功后即可進入到用戶的個人主界而,在個人主界而,用戶首先可以進行 車次信息査詢。車次信息查詢是為用戶提供一個按公交車的車號(如:1路)查詢,并顯 示該公交車的相關(guān)信息(如:公交車的起點站、終點站、票價和車子的檔次等信息)。 而查詢功能的實現(xiàn)是由系統(tǒng)的業(yè)務(wù)邏
44、輯層中的QueryData類來實現(xiàn)的。(2)模塊運行界而如圖10所示。車號 票價車輛等級 票價等級起點站中間站點終點站102元普通普通票價長途東站火車站 中央門 金橋市場 長江K酒店 南羽西站中山碼頭圖10車次信息查詢相應(yīng)的代碼:public ArrayList qucryBusNumDctail(String busNum) ArrayList arrayList = new ArrayList();DBConnection2 db = DBConncction2ganM“z(); Connection conn = null;Statement stmt = null;ResultSet
45、rs = null;String sql = ”;try 第15頁共28頁 if (busNuni.equals(HH) II busNuin = null) sql = select * from businfo”; else busNum = exChange(busNum)y/ 字符串轉(zhuǎn)碼 sql = select * from buslnfo where busnum =,H+Integer.par5eM/(busNum)+,M;conn = db.getConnection();stmt =conn.createStatement(ResultSet.ryPE_5CZ? OL L_I
46、NSENSrnVERcsunSzCONCUR_READ_ ONLY);rs = stmt.executeQuerr(sql);while (rs.next() & rs != null) HashMap hashMap = new HashMapO; hashMap.put(MBusNum,;H,+rs.getInt(,busnunr,); hashMap.put(,*BeginSt,rs.getString(ubeginstM); hashMap.piit(HEndSt,rs.getString(,endstH); hashMap.piit(HTickctNote,rs.getString(
47、HticketnoteH); hashMap.put(HBusLeverrs.getString(HbusIever); hashMap.put(HNote,rs.getString(,note,); arrayList.add(hashMap); catch (Exception e) e.printStackTrace(); finally try if (stmt != null) stmt.closeO;db.freeConnection(conn); catch (Exception e) e.printStackTrace();return arrayList;調(diào)用此方法時,在頁而
48、中先引用包com. busSystem. util,再創(chuàng)建QueryData類的對象,通過對象調(diào)用statisticsByBusInfo ()這個方法2.站點信息查詢(1)模塊功能描述用戶登錄成功后即可進入到用戶的個人主界面,在個人主界而,用戶首先可以進行 站點信息査詢。站點信息查詢是為用戶提供按公交車某一個站點查詢到該站點需要乘坐 公交車的車號。該查詢功能的實現(xiàn)也是由系統(tǒng)的業(yè)務(wù)邏輯層中的QueryData類來實現(xiàn)第16頁共28頁的。(2)模塊運行界而如圖11所示。查詢站點:草場門車弓 票價車輛等級 票價等級O O o o o o 終點站11liu普通普迫票價挹I新城帀廣場草場門 云南昭yg嗚
49、寺北京瑋 崗孑村梭花路萬游村66普通普il票價火車站中央門玄社門云南昭王臬路江蘇省委莖場門 龍江新城市廣場 萬達廣場奧體劭城圖11站點信息查詢相應(yīng)代碼:public ArrayList querjfStInfo(String st name) ArrayList arrayList = new ArrayList();DBConnection2 db = DBConnection2.getInstance();Connection conn = null;Statement stmt = null;ResultSet rs = null;String sql =try (stname = ex
50、Change(stname);/ 字符串轉(zhuǎn)碼conn = db.getConnection();stmt=conn.createStatement(RcsultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CON CUR_READ_ONLY);sql=HselectbusInfo.busnum.busInfo.BeginSt.busInfo.EndSt,busInfo.TicketNote,stInfo.stn amc from buslnfo,stlnfo,busst where stname likeand stlnfo.stid = busst.stidan
51、d busst.busnum = busInfo.busnumM;rs = stmt.executeQuerjf(sql);while (rs.next() & rs != null) HashMap hashMap = new HashMapO;hashMap.put(HBusNum,/,+rs.getInt(,busnumH); 將從數(shù)據(jù)庫中査出的值放入 hashmap 中hashMap.put(MBeginSt,rs.getString(nBeginStn); hashMap.put(HEndSt,rs.getString(,EndStH); hashMap.put(,TicketNot
52、e,rs.getString(,TicketNoteH); hashMap.put(MStName,rs.getString(Hstnameu);arrayListadd(hashMap);將所有的 hashmap 放入 arrayList catch (Exception e) e.printStackTraceO; finally try (if (stmt != null) stmt.close();db.freeConnection(conn); catch (Exception e) e.printStackTraceO;第17頁共28頁return arrayList;調(diào)用此方法時
53、,在頁面中先引用包com. busSystem. util,再創(chuàng)建QueryData類的對 象,通過對象調(diào)用queryStlnfo ()這個方法。公交系統(tǒng)查詢模塊流程圖如圖12所示。用戶査詢車次、站點和換乘方案 信息顯示查詢信息圖12系統(tǒng)査詢流程圖3.公交換乘方案査詢(1)模塊功能描述用戶登錄成功后即可進入到用戶的個人主界而,在個人主界而,用戶首先可以進行公交換乘方案的查詢。公交換乘方案査詢即為用戶輸入起始站點和目的站點,然后點擊查 詢搜索乘車路線確定換乘的方案。(2)模塊運行界面如圖13所示。起始站點:云南路目的站點:龍江新城市廣場車號 票價 車輛等級 票價等級起點站.終點站111元普通普通
54、票價龍江新城市廣場草場門云南路雞鳴寺北京東路崗子村櫻花路萬壽村662元晉通普通票價火車站中央門玄武門云南路玉泉路江蘇省委草場門龍江新城市廣場萬達廣場奧體新t圖13公交換乘方案査詢相應(yīng)代碼:public ArrayList checkSt(String stnamc) ArrayList arrayList = new ArrayList();DBConnection2 db = DBConncction2.etlnstance() Connection conn = null;Statement stmt = null;第18頁共28頁RcsultSet rs = null;String sq
55、l =,Mr;try (/stname = exChange(stname); 字符串轉(zhuǎn)碼if (stname != null) stname = exChange(stname);if (!stname.equals(,H,) sql = Hselect * from stinfo where stname like ,%H+stname+H%,M; else sql = ”select * from stinfo”;/sql = select * from stinfo where stname like ,%n+stnanie+H%,H;/sql = Mselect * from sti
56、nfo”;conn = db.getConnection();stmt = conn.createStatementO;rs = stmt.executeQuer)f(sql);while (rs.next() & rs != null) HashMap hashMap = new HashMapO;hashMap.put(,stid, ,H,+rs.getInt(,stidM);hashMap.put(,stnanic, rs.getString(HstnameN); arrayList.add(hashMap); catch (Exception e) e.printStackTrace(
57、); finally try if (stmt != null) stmt.close();db.freeConnection(conn); catch (Exception e) e.printStackTrace();return arrayList;(四)站點信息管理模塊1.刪除站點(1)模塊功能描述刪除站點功能:通過車次的下拉選擇框選擇車次,進行查詢列岀該車次的所有站點 信息,然后點擊刪除操作就可以刪除該站點。需要注意:因為在車次中從起點站到終點 站計算,其所有的站點是一個有次序的排列,所以刪除一個站點,則它的下個站點次序 第19頁共28頁號依次減少一位。(2)模塊運行界而如圖14所示
58、。站點名稱中央門竝許府巷刪除鼓樓珠江路fflft術(shù)口大行宮刪除添加新站點站點查肯添加圖14刪除站點2.添加站點(1)模塊功能描述添加站點功能:1)在添加站點的文本框中輸入要添加的站點名稱。2)提供了一個站點重名的査找功能,該功能可以對你輸入添加的站點拿稱進行名稱 查重,通過查詢站點編碼表,顯示這個站點是否已經(jīng)存在。如果不存在,則將此新增站 點名稱插入到站點編碼表中,如果存在,則不需將此站點名稱插入到站點編碼表中。3)通過下拉選擇框選擇新增站點所對應(yīng)的車次號。4)如果查詢站點總數(shù)在文本框中顯示為“0”,則需要將起點站和終點站同新增的站 點一起插入車次和站點的關(guān)系表中。如果査詢站點總數(shù)在文本框中顯
59、示不為“0”,則只 需將新增的站點插入車次和站點關(guān)系表中即可。(2)模塊運行界而如圖15所示。希加站點:站點査重圖15添加站點公交系統(tǒng)站點信息維護模塊流程圖如圖16所示。第20頁共28頁開始管理員登錄進入主界面進行站點刪除.添加圖16車次信息維護模塊流程圖(五)車次信息管理模塊1.刪除車次(1)模塊功能描述刪除車次功能:分頁列岀車次信息表中所有的車次信息,選擇操作中的刪除,就可 以將對應(yīng)的車次信息刪除,但是在刪除車次信息的時候需要先刪除車次與站點關(guān)系表中 所有對應(yīng)該車次的信息。如果不先刪除就會出現(xiàn)違反數(shù)據(jù)庫完整性。(2)模塊運行界而如圖17所示。車弓起點站終點站票價車輛等級秦價等級按作1夫孑宙
60、普通普通要價刪除管浬中間站10長途東站中山碼頭2元晉通晉)1票價刪陳営經(jīng)中罔斌11龍江新城市廣場萬壽村1元晉通曽通親價譽淫中間站66火車站奧體舒城2元普通咎通裁價管連中間站總龍錄數(shù):4總頁數(shù):1當(dāng)前頁:1首頁上一頁下一頁末頁圖17刪除車次2.添加車次(1)模塊功能描述添加車次功能主要是增加一個車次詳細信息,英中包括:車次號,起點站,終點站,第21頁共28頁票價,汽車檔次,票價類型。需要注意,在添加起點站和終點站的時候,數(shù)據(jù)都是從站 點庫獲得然后添加到起點站和終點站中去。因為添加車次它只涉及到車次的詳細信息, 如果要想添加站點,則需要在添加站點功能頁而中進行相應(yīng)的操作。(2)模塊運行界而如圖18
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 硝酸領(lǐng)用與人力資源
- 倉儲物流優(yōu)化整改承諾書
- 皮革制品招投標現(xiàn)狀與對策
- 水電站錨桿施工合同
- 學(xué)校周邊道路側(cè)溝改造
- 電子工程項目履約承諾書
- 展覽館道路照明設(shè)施安裝合同
- 知識產(chǎn)權(quán)變更索賠處理指南
- 社區(qū)食堂管理辦法
- 室內(nèi)裝飾金箔施工協(xié)議
- 鋼絲繩的規(guī)格和意義
- 購房合同[標準版]
- 膠凝砂礫石施工方案
- EN_10169-2010-A1-2012(中文翻譯)
- 金光修持法(含咒訣指印、步驟、利益說明)
- 小學(xué)英語作業(yè)設(shè)計PPT課件
- 勘察報告(標準)
- 施工資源需求計劃(投標階段)
- 機械制圖(六)焊接
- 深圳地鐵接觸網(wǎng)施工方案講解
- 語言文字規(guī)范化自查報告(共5篇)
評論
0/150
提交評論