基于JSP的公交查询系统设计与实现.docx
《基于JSP的公交查询系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP的公交查询系统设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
![基于JSP的公交查询系统设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-1/29/079dc49b-584e-432c-9af3-4512c72e5231/079dc49b-584e-432c-9af3-4512c72e52311.gif)
基于JSP的公交查询系统设计与实现
本科生毕业论文(设计)
题目:
基于JSP的公交查询系统设计与实现
论文完成日期:
2012年5月5日
基于JSP的公交查询系统设计与实现
摘要
公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。
一些地区公交查询系统的发展处于一个较落后的水平,人们可以获得信息的方式较少,为了解决这种问题,提出了基于JSP的公交查询系统。
本文首先对公交查询系统的需求进行了分析,包括功能需求和非功能需求;接着介绍了系统总体设计思路、方案选择和数据库设计;随后详细阐述了系统主要功能模块的实现过程;最后给出系统的测试方案。
本公交查询系统主要具有公交查询、用户留言、用户管理和后台车次管理功能。
公交查询包括车次、站点、换乘等方案的查询;用户留言主要是收集用户的留言信息,以方便根据用户提供的留言信息或是提出的建议对系统进行修改和完善;用户管理功能主要是删除用户信息和修改用户注册的基本信息;后台车次管理功能主要是添加车次和站点功能、更新车次和站点功能、删除车次和站点功能。
本系统基于B/S模式开发,采用JSP技术,SQLServer2000构建后台数据库。
本系统的使用在方便广大市民,提高市民乘车效率的同时,也为信息化技术在城市现代化建设中,提供了有益的探索。
关键词:
JSP;SQL;JDBC;公交查询
ThePublicTransportInquirySystemBasedonJSP
Abstract
Publictransportinquirysystemisanimportantpartintrafficandtransportationdomain,andit'salsotheinevitableresultofsocialeconomy'sdevelopmentinurbanareas.Asanimportantpartofurbantransportationsystem,urbanpublictransportationsystemisactingakeyroleinhumanliving,insocialproductionandintransportationdomain.Buttheinquirysystemofpublictransportationdevelopmentsinsomecitiesisinacomparativelybackwardlevel.Thegeneralpassengershavelesswaytoobtaintheinformation.Inordertosolvethiskindofproblem,aninquirysystemofpublictransportinChengdubasedonJSPisdesigned.
Thispaperfirstlyanalyzedtherequirementsofpublictransportinquirysystem,includingfunctionalrequirementsandnon-functionalrequirements.Thenintroducesthecomprehensivedesignofthesystem,systemschemeselectionanddesignofdatabase.Thenexpoundedtheimplementationprocessofthemainfunctionalmodulesofthesystem.Finallyoffersthetestplanofthesystem.Thepublictransportinquirysystemincludesbusenquiries,thefunctionsofconsumermessage,thebusnumbermanagingonthebackstageandtheconsumermanaging.Thebusenquirieshasincludedtheinquiryoftrips,sites,transferandsoon.Thefunctionofconsumermessagemainlycollectssuggestionsfromconsumertomodifyandperfectthesystemfunctions.Thefunctionofusermanagingistodeleteuserinformationmainlyandrevisesthefundamentaluserinformation.Thefunctionsofbusnumbermanagingaremainlytoadd,updateanddeletethebusnumberandthestationonthebackstage.ThesystemisbasedonB/Smodeldevelopment,usingthestandardJSPlanguageandbuiltbySQLServer2000database.
Usingthesystemisnotjustconvenientforthegeneralpubilc,improvingworkefficiency,butalsoprovidesbeneficialexplorationfortheinformationtechnologymodernizationinthecity.
Keywords:
JSP;SQL;JDBC;publictransportinquiry
论文总页数:
28页
一、引言
(一)选题背景
随着城市经济发展,城市规模越来越大,相应的城市公交系统也越来越庞大。
许多新建小区大量出现,公交线路也日渐增多,给人们的出行带来了极大便利,但是由于城市规模的不断发展,给人们选择出行乘车线路造成了一定的困难,所以需要提供一个高效的查询系统,才是问题根本所在。
基于JSP的公交查询系统,是基于B/S模式的查询系统。
它不仅可以用于公交公司管理系统中,也可以单独作为公交管理系统的一个模块存在,并可以制作成公交信息系统查询网,放置于城市的主要场所。
这样不仅可以体现出一个城市的智能公交系统的水平,更显示出城市的数字化,信息化水平。
本项目研究的基于JSP的公交查询系统,包括公交查询系统的大部分功能,并提供了用户留言的功能,以方便根据用户提供的留言信息或是提出的建议对系统进行修改和完善,并提供了管理员用户后台维护公交信息的功能,做到能够实时添加和删除公交车次站点。
为用户查询提供更会准确的信息。
(二)开发环境及技术简介
1.JSP基础知识
JSP是“JavaServerPages”的缩写,可以解释为“基于Java的服务端动态页面技术”,。
因为Java是编译解释执行的,所以JSP也就摆脱了VBScript、Perl等脚本语言纯粹的解释执行带来的低效率问题。
因为Java是平台无关的,所以JSP是跨平台的。
基于Java是JSP区别包含ASP(ActiveServerPages)在内的其它服务端动态页面技术的重要特征。
JSP是服务端技术,所以JSP文档要先经服务端翻译、解释、执行,才能得到客户端浏览器能识别的HTML文档。
这是当前Web技术的潮流,是解决客户端浏览器兼容性问题的客观需要。
服务端技术是JSP区别于JavaScript、VBScript等客户端动态页面技术的重要牲。
JSP是一种页面技术,而现在JSP只实现了HTTP(HypertextTransferProtocol)协议,只能应用于Web页面。
这是JSP区别于Servlet的重要牲。
JSP是一种动态技术,这是JSP基于Java的自然延伸。
在页面中引入程序设计语言的目的是正是为了实现动态交互。
因此,JSP就是基于Java的服务端动态页面技术。
JSP技术让动态网面更易编写,功能更强,可移植性更好。
概括起来,JSP的设计目标主要有以下几点:
(1)一次编写,到处运行
(2)加强组件能力
(3)作为Java企业平台的门户
(4)更容易建立动态页面
2.JDBC
JDBC是执行SQL语句的JavaAPI。
其实,JDBC本身是一个产品的商标名。
相对与ODBC(OpenDatabaseConnectivity开放数据库连接),也可以把JDBC看作“JavaDatabaseConnectivity(Java数据库连接)”。
它由一组用Java语言编写的类与接口组成。
JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯JavaAPI来编写数据库应用。
使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。
用户不需要为每一个关系数据库单独写一个程序。
用JDBCAPI写出唯一的程序,能够将SQL语句发送到相应的任何一种数据库。
Java与JDBC的结合,使程序员可以只写一次数据库应用软件后,就能在各种数据库系统上运行。
由于Java语言具有健壮性、安全、易使用、易理解和自动下载到网络等优点,因此,它是数据库应用的一个极好的基础语言。
现在需要找到一种能使Java应用与各种不同数据库对话的方式,而JDBC正是实现这种对话的一种机制。
JDBC扩充了Java的应用范围。
随着学习Java程序设计的人越来越多,对Java的数据库的访问需求越来越迫切。
MIS管理员希望Java与JDBC结合,因为这有助于更容易、更经济地发布企业信息。
而各个公司可以不断地使用已安装的数据库,方便地存取信息,不必顾及这些数据库是在何种DBMS系统下存储的。
有助于缩短新应用的开发时间,并可大大简化数据库的安装与版本控制。
另外,在商业销售信息服务领域,Java与JDBC则可以更好地向外界客户提供最新信息。
3.JSPServlet
JavaServlet使用的是一种请求/响应机制,也就是说通过特定的Java程序设计技术,由该Servlet动态产生的响应向某一特定的请求做出响应。
Servlet所能应用的请求/响应场合很多,但常用的还是在Web应用程序中用于产生超文本传输协议响应(HTTP)。
据此,Servlet可能取代其他类型的HTTP请求/响应机制,譬如通用网关接口(CGI)脚本。
4.开发环境
本系统的开发采用JSP、Servlet、JavaBean、JavaScript、JDBC等技术。
本系统使用MyEclipse作为开发环境,JDK釆用1.5版本,Tomcat6.0作为Web服务器。
数据库采用SQLServer2000。
5.本文主要工作
本文主要综合介绍整个系统。
第一部分为引言,主要对项目开发的意义和项目的开发环境、开发技术进行介绍;
第二部分为系统需求分析,主要描述系统的调研情况,以及系统功能需求和系统非功能需求,简单的介绍了系统的主要功能模块,包括用户登录、公交查询、留言管理和管理员维护等模块;
第三部分为系统设计,主要解释了系统结构设计、方案的选择和系统数据库的设计;
第四部分为系统功能模块的实现,描述了各个功能模块的实现,并给出关键模块的实现代码以及运行的效果截图;
最后部分对系统做了整体测试,给出系统功能测试用例表。
二、系统需求分析
(一)系统调研
在一些城市公交信息化发展中已有公交查询系统,查询城市公交换乘方案等。
有很多系统没有后台的维护管理功能,公交信息不能实时的更新,本系统提供了管理员进行添加、删除车次站点等功能,并提供了用户留言的功能,更加具有实时性和人性化,使公交管理公司能够对用户提供的留言信息和提出的建议对系统进行修改和完善。
(二)系统目标
本项目设定的目标如下:
(1)方便市民更好地掌握公交有关信息,辅助公交管理。
(2)适应城市未来公共交通及社会交通模式快速变化的要求,适应公交运输体制改革的要求、适应城市公交服务向更高层次发展的要求。
(3)为未来智能公交系统查询系统以及开发基于更广大用户的开放式的网络查询系统打下基础。
(三)系统的功能需求
1.系统需求描述
系统需求:
城市公交查询系统需要满足来自两方面的需求,分别是查询公交系统的普通用户,后台维护管理人员。
查询公交系统的普通用户的需求是查询城市公交线路、站点和换乘方案等信息。
后台维护管理人员对后台数据库的备份和恢复,添加公交线路站点和更改已有公交线路站点。
在城市公交查询系统开发时应该满足以下具体的系统需求:
(1)满足用户查询公交信息的基本要求。
(2)满足后台管理人员方便更改城市公交线路站点等信息的基本要求。
(3)对使用该系统的用户技能要求比较低,操作方便。
(4)能够使用人机互交,界面大方得体,实用。
(5)能够保障城市公交信息数据的安全,准确。
2.系统数据流图
系统数据流图如图1所示。
图1系统数据流图
如图所示,管理员登录系统后,可进行车次管理、站点管理、线路管理、删除用户等操作。
普通用户注册登录后,可进行公交信息查询、留言版留言。
3.系统的功能
系统功能模块图如图2所示。
图2系统功能模块图
基于系统需求分析,以下为该系统的相应基本功能:
(1)用户登录模块
管理员和普通用户分别拥有自己的用户名和密码。
对于普通用户注册后如果登录成功,则直接进入到用户个人主界面并选择各种操作,否则会返回到登录界面重新进行登录。
管理员登录成功进入管理员界面选择各种操作。
(2)公交系统查询模块
普通用户登录成功后可根据自己需要进行公交查询。
有包括车次查询、站点查询和查询公交换乘方案等。
车次查询即为根据车次号查询车次经过的站点,该车次开收车时间,票价等基本信息;站点查询为经过该站点的车次信息;公交换乘方案查询即分别输入起始站点和目的站点并查询公交乘车方案。
(3)留言板模块
普通用户登录系统后,进入留言版模块,用户可以提出自己的一些看法意见和对本公交系统的建议,以供公交管理人员根据用户建议更加完善本系统,并能查看以前的留言。
(4)用户个人信息管理模块
用户登录成功后即可进入到用户的个人主界面,在个人主界面中,用户可以查看个人详细信息,包括用户名账号,保护邮箱等信息,并可以自行修改密码等个人信息,最后注销登录返回到系统登录界面。
(5)站点信息管理模块
管理员登录系统后进入相应管理员主界面,在管理员主界面中,可对公交站点信息进行添加和删除,实时更新公交变动信息。
(6)车次信息管理模块
管理员登录系统后进入相应管理员主界面,在管理员主界面中,可对公交车次信息进行添加和删除,实时更新公交变动信息。
(四)系统非功能需求
1.精度
本系统所需的数据类型主要包括用户名、密码等。
相关精度要求如下:
用户名:
英文加数字组合,并以英文开头。
例如:
“dd123”
密码:
5到12位密码。
例如“yx123”
在登录时,必须注意所选择的身份跟用户名和密码要保持一致。
2.安全性要求
本系统的用户分为管理员和普通用户两类,用户登录时需要根据权限选择不同的功能,每个用户都有自己固定的用户名和密码。
3.时间特性要求
响应时间:
基本的信息查询响应时间最长为5秒。
对于维护或者批量修改更新数据库的内容响应时间则根据具体软件和硬件情况而定。
4.灵活性
对设备的要求较低,且具有良好的可移植性,用户无论何时何地都可以方便、快捷地使用该系统,具有较强的灵活性和方便性。
三、系统设计
(一)系统总体设计
本系统设计使用了面向对象技术和模块化技术。
面向对象技术是一种软件开发和程序设计技术,其所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系。
对象是封装了数据和操作的程序块。
所谓封装是为这个程序块建立显示的界面,其它对象只能向这个界面发消息,不能访问内部的私有数据和操作。
因此,内部的数据和实现操作的算法若有改动,对其它程序对象没有任何影响。
封装使程序局部化、易修改、好维护,但许多对象有相同的功能时免不了重复,所以面向对象技术有继承的机制。
此外,由于对象自己操作自己的数据,对同一消息不同的对象均以自己的方式响应,使得一种消息可有多种响应方式,这就是多态性。
封装、继承、多态是面向对象程序的主要特征。
正是这些特征使程序安全、可靠、可重用、易维护。
因而面向对象技术也成为当今计算机的新兴技术。
系统总体流程如图3所示。
图3系统流程图
图3详细阐述了该系统的整体操作流程。
首先用户进行登录,选择登录身份是普通用户或者管理员,如果用户名和密码正确则进入到相应的用户个人主界面,否则返回登录界面重新进行登录。
在用户个人主界面,用户可以进行各自需要的操作。
若用户为普通用户,则可以进行查询公交信息,留言,注销和更改个人信息等操作;用户为管理员,可添加删除公交信息。
最后,用户操作完毕,即可退出本系统,整个系统操作流程到此结束。
(二)系统方案选择
目前比较流行的系统软件开发技术有ASP.NET或JSP(JavaServerPages)与WEB数据库相结合两种,分别由微软和SUN公司开发的一种动态网页语言。
都是非常完备的开发技术。
目前网络上和各大文献也对两者进行了比较,其中各有优缺点。
首先,JSP与微软的ASP技术非常相似。
两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码。
在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
普通的HTML页面只依赖于WEB服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。
ASP和JSP都是面向WEB服务器的技术,客户端浏览器不需要任何附加的软件支持。
ASP的编写语言是基于VB的脚本语言,JSP使用的是JAVA,这是两者最明显的区别。
ASP与JSP还有一个更为本质的区别:
两种语言引擎用完全不通的方式处理页面中嵌入的程序代码。
在ASP下,基于VB的脚本代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由JAVA虚拟机执行,这种编译操作仅在对JSP页面第一次请求是发生。
动态语言JSP和ASP在性能上的比较如表1所示。
表1JSP与ASP性能对比表
性能
JSP
ASP
运行速度
快
较快
运行损耗
较小
较大
难易程度
容易掌握
简单
运行平台
绝大部分平台
Windws平台
扩展性
好
较好
安全性
好
较差
函数支持
多
较少
数据库支持
多
多
厂商支持
多
较少
对XML的支持
支持
不支持
对组件的支持
支持
支持
对分布式处理的支持
支持
支持
应用程度
较广
较广
由上表我们可以很清楚的发现JSP具有运行速度快,运行耗损小,跨平台性,通用性好,良好的结构,强大的数据库等都更比ASP.NET更具优越性。
两者中,JSP应该是未来发展的趋势。
基于JSP的众多技术优点和当前发展的趋势,在参考了大量文献资料后,我决定选取JSP作为开发本公交查询系统的主要技术。
而数据库选用SQLServer2000因其有以下优点:
2000支持存储器、触发器、自定义函数等操作;安全性、并发控制能力、数据挖掘、联机操作等方面都是ACCESS无法超越的。
当前,主流的抽象WEB应用体系
(1)SQLServer2000数据库应用于中小型企业。
SQLServer2000的分布式、复制、全文检索、DTS都可以满足中型的应用。
(2)SQLServer2000的数据存储在它本身的文件内,在安装目录下的DATA目录下,有和数据库同名的数据文件和日志文件组成。
(3)SQLServer结构主要有两种:
即C/S客户机/服务器结构以及B/S浏览器/服务器结构。
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。
这也就是目前应用系统的发展方向。
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN、WAN、Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
比较C/S和B/S优缺点发现,B/S模式具有分布性特点,可以随时随地进行业务处理。
业务扩展简单方便,通过增加网页即可增加服务功能。
维护简单方便,只需改变网页,即可实现所有用户的同步更新;开发简单,共享性强等。
结合本系统实际情况,我选择采用B/S模式。
因此,本系统开发选用JSP+SQLServer方案,基于B/S模式开发。
(三)系统数据库设计
1.数据库设计
数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。
因此,数据库设计是信息系统开发和建设的重要组成部分。
本系统数据库表有administrator表、BusInfo表、BusSt表、message表、StInfo表、userInfo表等共6张表。
其中administrator表为管理员表,保存有管理员名和密码信息;message表为留言信息表;userInfo表为用户表,保存有用户注册信息;BusInfo表为车次信息表,存有起点站和终点站信息;StInfo表为站点表,存有本系统所有的站点,为系统站点库;BusSt表为每个车次中间站点与车次线路的关联表。
2.系统E-R图
(1)用户实体及属性如图3所示。
图3用户实体及属性
(2)管理员实体及属性如图4所示。
图4管理员实体及属性
(3)留言板实体及属性如图5所示。
图5留言板实体及属性
(4)车次与站点之间关系如图6所示。
图6车次与站点之间关系
3.数据库表结构
(1)用户表u