基于ssm的城市公交查询系统的设计与实现(附源码)
摘要
為了順應(yīng)時(shí)代發(fā)展的潮流,利用新信息技術(shù)研究開(kāi)發(fā)了一個(gè)城市公交查詢系統(tǒng)。本論文開(kāi)頭先接受了當(dāng)今城市公交查詢系統(tǒng)的現(xiàn)狀及開(kāi)發(fā)背景,接著講述了本項(xiàng)目的設(shè)計(jì)目標(biāo)、系統(tǒng)需求以及總體設(shè)計(jì)方案,詳細(xì)的介紹了系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),最后對(duì)系統(tǒng)進(jìn)行了測(cè)試。
本系統(tǒng)使用了Java編程語(yǔ)言、MySQL數(shù)據(jù)庫(kù)、JSP技術(shù),同時(shí)基于B/S結(jié)構(gòu)設(shè)計(jì)了查詢、換乘、留言、發(fā)布公告等功能。公交查詢系統(tǒng)的設(shè)計(jì)目的是為了方便人們的生活,以及提供信息更新及發(fā)布的平臺(tái)。計(jì)算機(jī)不斷滲透著現(xiàn)代生活中,隨著技術(shù)的發(fā)展,計(jì)算機(jī)已經(jīng)融入了人們的大部分領(lǐng)域。城市公交的查詢也是如此,舊版本的城市公交查詢存在著更新不及時(shí)、路線查詢過(guò)于復(fù)雜、互動(dòng)性不強(qiáng)等問(wèn)題,這些問(wèn)題都會(huì)影響著人們使用的舒適性。
本系統(tǒng)就可以解決這些舊版存在的問(wèn)題,令人們可以用最便捷的方式查詢到最有用的信息。本系統(tǒng)主要涉及軟件、網(wǎng)頁(yè)、網(wǎng)絡(luò)技術(shù)等方面。多次運(yùn)行與檢測(cè)之后,經(jīng)過(guò)實(shí)踐證明該系統(tǒng)穩(wěn)定。
項(xiàng)目開(kāi)發(fā)背景
城市公交系統(tǒng)是為了給市民出行提供方便,是為服務(wù)人們出行的客運(yùn)企業(yè)。近年來(lái),城市汽車的保有量日益劇增,造成了上下班是塞車,公交成為了越來(lái)越多人選擇的方便、快捷、綠色的出行方式。城市公交系統(tǒng)決定這城市的經(jīng)濟(jì)命脈和人們的日常出行,對(duì)城市經(jīng)濟(jì)起著全局性、先導(dǎo)性的作用。公交系統(tǒng)隨著城市的發(fā)展而發(fā)展,但站點(diǎn)、線路越來(lái)越復(fù)雜,給市民帶來(lái)了不少困擾,人們面對(duì)龐大的信息顯得有些不知道怎么處理。所以,現(xiàn)今社會(huì)急需一個(gè)能夠處理大量站點(diǎn)、線路信息,并給出一個(gè)最優(yōu)解的答案。
計(jì)算機(jī)、網(wǎng)絡(luò)技術(shù)正在迅速發(fā)展,將計(jì)算機(jī)與網(wǎng)絡(luò)融合發(fā)展是當(dāng)今社會(huì)的主題。現(xiàn)在,網(wǎng)絡(luò)已經(jīng)普及,上網(wǎng)已經(jīng)非常便捷。通過(guò)網(wǎng)絡(luò)來(lái)發(fā)布、更新公交站點(diǎn)、線路的信息,以及人們查詢站點(diǎn)、線路等信息,已是必然的發(fā)展方向。本項(xiàng)目使用瀏覽器進(jìn)行查詢、可以更新、中心控制、多種的查詢方式等功能。
項(xiàng)目現(xiàn)狀的研究
城市的經(jīng)濟(jì)發(fā)展、人口的增長(zhǎng)遷入、城鎮(zhèn)一體化,給城市的交通帶來(lái)了許多難題。減少出行時(shí)間能令全部的公交使用者產(chǎn)生效益。便捷的交通、準(zhǔn)確的信息、優(yōu)質(zhì)的服務(wù)能提升公交的形象,讓更多的人乘搭公交車。城市的公交系統(tǒng)擁有方便、價(jià)廉、能去的地方多等優(yōu)勢(shì),這使其成為大部分人出行、出游的首選方式,同時(shí)是各地政府必須發(fā)展、扶持的。居住在這個(gè)城市的居民需要搭公交出行,外地來(lái)的游客也需要坐公交。但紙質(zhì)版的公交線路和不夠明確或過(guò)于復(fù)雜的網(wǎng)絡(luò)版公交指南,都不能使人們非常準(zhǔn)確明了的知道搭乘哪個(gè)站點(diǎn)以及哪條線路到達(dá)目的地。
項(xiàng)目開(kāi)發(fā)的目的及意義
目前我國(guó)的公交信息系統(tǒng)還處在一個(gè)較為落后的階段。公交信息過(guò)于混亂,信息更新不及時(shí),沒(méi)有專門負(fù)責(zé)發(fā)布、更新、修改公交信息的機(jī)構(gòu)。這給人們的出行和生活帶來(lái)了極大的不便。為了解決這個(gè)問(wèn)題,在老師的指導(dǎo)下,我設(shè)計(jì)了城市公交查詢系統(tǒng)。針對(duì)搭乘公交的人們進(jìn)行心理分析的原則上,以及涉及人們選擇公交站點(diǎn)、線路的關(guān)鍵因素,由此對(duì)程序進(jìn)行主體框架的設(shè)計(jì)。當(dāng)今社會(huì),市民的出行主要還是依靠公交,對(duì)于外地來(lái)的人們公交就特別重要,但外地人來(lái)到不熟悉的地方,搭公交就顯得尤為困難,因此,設(shè)計(jì)一個(gè)城市公交查詢系統(tǒng)就特別重要。
現(xiàn)在,上網(wǎng)已經(jīng)極為便捷,將現(xiàn)實(shí)生活與網(wǎng)絡(luò)結(jié)合起來(lái)是大勢(shì)所趨。城市公交查詢系統(tǒng)能夠讓網(wǎng)絡(luò)方便更多的人,為市民提供一條最快捷、最方便的線路,讓市民的出行效率得到提升,促進(jìn)經(jīng)濟(jì)社會(huì)的發(fā)展。本系統(tǒng)包含了網(wǎng)絡(luò)技術(shù)、軟件和數(shù)據(jù)庫(kù)等方面。包含多個(gè)方面,能夠提升學(xué)生的綜合能力,培養(yǎng)獨(dú)立思考、創(chuàng)作能力。給以后的工作打下堅(jiān)實(shí)的基礎(chǔ)。
研究目標(biāo)
本系統(tǒng)使用編程手段來(lái)進(jìn)行城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
首先,對(duì)該系統(tǒng)涉及關(guān)于計(jì)算機(jī)技術(shù)方面的知識(shí)有全面的掌握,且對(duì)項(xiàng)目進(jìn)行了全面的分析。并針對(duì)現(xiàn)實(shí)生活中存在的問(wèn)題,在此基礎(chǔ)上對(duì)城市公交查詢系統(tǒng)進(jìn)行可行性分析。在開(kāi)始進(jìn)行基礎(chǔ)調(diào)查的時(shí)候,還應(yīng)該對(duì)系統(tǒng)的所有功能進(jìn)行詳細(xì)的研究。最后決定系統(tǒng)的界面、功能、性能等功能。
城市公交查詢系統(tǒng)采用ssm框架,使用了JSP技術(shù)、MYSQL數(shù)據(jù)庫(kù)并運(yùn)用了B/S結(jié)構(gòu)分析數(shù)據(jù)。
本系統(tǒng)的目標(biāo)如下:
(1)界面整潔:模塊布局分布清晰,各個(gè)功能模塊分離,用戶能快速查詢公交信息,管理員方便管理信息。
(2)信息更新即時(shí):管理員修改更新的信息能夠即時(shí)出現(xiàn)在系統(tǒng)上。
(3)功能全面:用戶能夠注冊(cè)、登錄,并且可以查詢公交信息和留言,管理員可以管理用戶、公交信息并發(fā)布公告等需求。
開(kāi)發(fā)技術(shù)簡(jiǎn)介
JAVA技術(shù)
Java是世界上最流行的開(kāi)發(fā)語(yǔ)言。隨著Sun公司的推捧之下,它已經(jīng)成為web應(yīng)用程序開(kāi)發(fā)的首選語(yǔ)言之一。Java語(yǔ)言是一種性能良好的規(guī)范語(yǔ)言,符合編程設(shè)計(jì)的要求。它的特點(diǎn)是多線程、跨平臺(tái)等。Java編程語(yǔ)言具有平臺(tái)跨度大、布局較好、遷移性強(qiáng)、復(fù)制性強(qiáng)等多種特點(diǎn)。Java可以在不同的平臺(tái)上運(yùn)行。用java編寫的程序可以供世界各地的技術(shù)人員使用。Java程序設(shè)計(jì)語(yǔ)言是1995年出現(xiàn)的一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。在各種開(kāi)發(fā)語(yǔ)言中,最流行的語(yǔ)言也是世界上最熱門的開(kāi)發(fā)語(yǔ)言。作為一種最流行的語(yǔ)言,Java編程語(yǔ)言自然有許多優(yōu)點(diǎn)。如:
Java是一種簡(jiǎn)單的編程語(yǔ)言,因?yàn)樗菀讓W(xué)習(xí)和理解。它的語(yǔ)法基于c++,使用自動(dòng)垃圾收集;因此,我們不需要從內(nèi)存中刪除未引用的對(duì)象。Java還刪除了顯式指針、操作符重載等特性,使其易于讀和寫。
Java使用了面向?qū)ο蟮姆独?#xff0c;這使得它更加實(shí)用。Java中的一切都是一個(gè)對(duì)象,它同時(shí)負(fù)責(zé)數(shù)據(jù)和行為。Java使用面向?qū)ο蟮母拍?#xff0c;如對(duì)象、類、繼承、封裝、多態(tài)和抽象。
Java是一種安全的編程語(yǔ)言,因?yàn)樗皇褂蔑@式指針。此外,Java程序在虛擬機(jī)沙箱中運(yùn)行。JRE還提供了一個(gè)類加載器,用于將類動(dòng)態(tài)加載到JVM中。它將本地文件系統(tǒng)的類包與從網(wǎng)絡(luò)導(dǎo)入的類包分開(kāi)。
Java是一種健壯的編程語(yǔ)言,因?yàn)樗褂脧?qiáng)大的內(nèi)存管理。我們還可以通過(guò)Java代碼處理異常。此外,我們可以使用類型檢查使代碼更安全。它沒(méi)有提供顯式指針,因此程序員不能直接從代碼訪問(wèn)內(nèi)存。
Java代碼可以直接在多個(gè)平臺(tái)上運(yùn)行,也就是說(shuō),我們不需要每次都編譯它。它正確一次,運(yùn)行任何語(yǔ)言(WORA),可以在編譯時(shí)轉(zhuǎn)換成字節(jié)代碼。字節(jié)碼是獨(dú)立于平臺(tái)的代碼,可以在多個(gè)平臺(tái)上運(yùn)行。
Java使用多線程環(huán)境,在這種環(huán)境中,較大的任務(wù)可以轉(zhuǎn)換為各種線程并單獨(dú)運(yùn)行。多線程的主要優(yōu)點(diǎn)是我們不需要為每個(gè)正在運(yùn)行的線程提供內(nèi)存。
JSP技術(shù)
在動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)的技術(shù)中,選用了JSP技術(shù)。在服務(wù)器調(diào)入方面,JSP支持的是CGI不能支持的直接使用編譯好的文件,不用首先將解釋器還有目標(biāo)腳本單獨(dú)引用進(jìn)來(lái)。對(duì)于大多數(shù)各類型的企業(yè)來(lái)說(shuō),JSP是最好的選擇,因?yàn)镴SP擁有能支持各種類型企業(yè)使用的JavaAPI,這也是JSP成為一種潮流的原因。JSP還可以使用一種能夠被Java Server模板引擎支持,以達(dá)到在JSP頁(yè)面中能夠處理業(yè)務(wù)邏輯。使用JSP技術(shù),可以讓用戶在開(kāi)發(fā)程序時(shí),能夠使用的語(yǔ)言更具有普遍性,能夠支持更大范圍的用戶所掌握的語(yǔ)言開(kāi)發(fā),加強(qiáng)易用性。在開(kāi)發(fā)初級(jí)或者開(kāi)發(fā)后期需要修改或編輯HTML網(wǎng)頁(yè)時(shí),能夠直接操作,避免程序員面對(duì)大量println語(yǔ)句,這樣就更簡(jiǎn)化了JSP開(kāi)發(fā)的流程,避免很多麻煩。JSP在與服務(wù)器交互中,處理動(dòng)態(tài)信息,數(shù)據(jù)庫(kù)的處理訪問(wèn),圖像的處理在客戶端的顯示這些性能都是很好的。使用JSP技術(shù)還能夠快速進(jìn)入數(shù)據(jù)庫(kù)鏈接以及使用表單數(shù)據(jù)。
MYSQL數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是一個(gè)單獨(dú)的應(yīng)用程序,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)是一種軟件。MySQL是一種快速、易于使用的RDBMS,用于許多大小企業(yè)。MySQL是由瑞典的MySQL AB公司開(kāi)發(fā)、銷售和支持的。MySQL之所以變得如此流行,有很多原因
MySQL在存儲(chǔ)數(shù)據(jù)方面,是一種非常成熟的技術(shù),可以保證數(shù)據(jù)不丟失,并且可以實(shí)現(xiàn)數(shù)據(jù)的快速讀取。它可以為數(shù)據(jù)的存儲(chǔ)和保護(hù)提供一種安全可靠的方法,使開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中減少很多麻煩。MySQL是在開(kāi)源許可下發(fā)布的,所以你不用花錢去使用它,MySQL使用眾所周知的SQL數(shù)據(jù)語(yǔ)言的標(biāo)準(zhǔn)形式,MySQL可以在很多操作系統(tǒng)上使用很多語(yǔ)言,包括PHP,PERL,C,c++,JAVA等。
在此系統(tǒng)中,使用MySQL數(shù)據(jù)庫(kù),因?yàn)镸ySQL有其他數(shù)據(jù)庫(kù)無(wú)法比擬的優(yōu)點(diǎn),如兼容性,穩(wěn)定性和數(shù)據(jù)并行性,和MySQL是一個(gè)成熟的數(shù)據(jù)源存儲(chǔ)技術(shù),存儲(chǔ)的數(shù)據(jù),保證數(shù)據(jù)的安全,并支持?jǐn)?shù)據(jù)的快速處理,所以系統(tǒng)平穩(wěn)運(yùn)行代頓。為了保證系統(tǒng)能夠滿足用戶的需求,順利運(yùn)行各種功能,實(shí)現(xiàn)數(shù)據(jù)的完整性,經(jīng)過(guò)一系列的分析和考慮,發(fā)現(xiàn)MySQL是最適合開(kāi)發(fā)該系統(tǒng)的。它可以很容易地訪問(wèn)數(shù)據(jù)源,并且可以高速處理數(shù)據(jù),這就是我選擇他的原因。從數(shù)據(jù)的安全性、可靠性、讀取的方便性以及數(shù)據(jù)的維護(hù)性等方面考慮,采用MySQL存儲(chǔ)系統(tǒng)的數(shù)據(jù)是最好的選擇。
B/S結(jié)構(gòu)
B/S框架是基于C/S結(jié)構(gòu)上不斷被改進(jìn)的產(chǎn)物,相當(dāng)于一個(gè)支持系統(tǒng)運(yùn)作的瀏覽器或服務(wù)器的內(nèi)部結(jié)構(gòu),在用戶使用系統(tǒng)的功能時(shí),B/S結(jié)構(gòu)能為用戶帶來(lái)更佳的使用效果,因?yàn)樗С值氖侨龑?-tier結(jié)構(gòu),能夠分別在不同層面的結(jié)構(gòu)處理不同的事物,區(qū)分用戶界面和邏輯事物的處理和實(shí)現(xiàn),并能夠區(qū)分主要邏輯事物,加快系統(tǒng)運(yùn)行的進(jìn)程。而這三層結(jié)構(gòu),彼此既能夠獨(dú)立運(yùn)行,獨(dú)立處理事物,他們又是互相關(guān)聯(lián)的,各層之間能夠互相交換數(shù)據(jù),相互滲透,達(dá)到系統(tǒng)最終目的的形成。
之所以選擇B/S框架,也是為了在使用功能操作時(shí)能夠減輕負(fù)擔(dān),只需要一部能夠上網(wǎng)的普通電腦,就能夠?qū)崿F(xiàn)系統(tǒng)的進(jìn)入,并能夠?qū)Σ煌挠脩魧?shí)現(xiàn)不同的功能操作,所以在配置上的要求是比較容易實(shí)現(xiàn)的。通過(guò)B/S結(jié)構(gòu)的使用,為用戶使用系統(tǒng)提供了簡(jiǎn)便的方式,無(wú)需特意安裝任何專門的軟件,通過(guò)瀏覽器就能進(jìn)行,而且,由于這個(gè)特點(diǎn),系統(tǒng)在開(kāi)發(fā)完成之后的后期工作,也就是維護(hù),也是非常便利的,也能過(guò)節(jié)省成本。通過(guò)對(duì)服務(wù)器進(jìn)行管理,就能夠?qū)ο到y(tǒng)的維護(hù)作出良好的維護(hù)效果。因此,B/S框架受到開(kāi)發(fā)者們的喜愛(ài)。
運(yùn)行截圖
獲取方式
https://gitee.com/XiaoLin_Java/communion/blob/master/README.en.md
總結(jié)
以上是生活随笔為你收集整理的基于ssm的城市公交查询系统的设计与实现(附源码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring Cloud各组件超时
- 下一篇: java信息管理系统总结_java实现科