




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南工业职业技术学院软件学院河南工业职业技术学院软件学院 毕毕 业业 设设 计计 说说 明明 书书 题目:城市公交查询系统题目:城市公交查询系统 编号 河南工业职业技术学院软件学院河南工业职业技术学院软件学院 毕毕 业业 设设 计计 任任 务务 书书 课题名称 城市公交查询系统城市公交查询系统 负责人签字:负责人签字: 年年 月月 日日 内容和要求:内容和要求: 1本系统要求实现以下功能: (1)实现预定功能。 (2)实现公交管理。 (3)实现公交资料管理。 (4)实现多种形式的查询、统计管理工作。 2操作界面友好,方便用户使用,尽可能使用户在使用时简 便、快捷,随时得到操作的提示,不至于使用
2、户出现误操作导致数据被 破坏或使系统瘫痪。 3考虑系统的安全性和可维护性,要设置有不同权限的用户。 不同权限的用户只能在不同的操作环境中进行操作,以防出现不良后果。 4此设计应提交的资料有: (1)管理系统软件; (2)答辩使用的幻灯片; (3)毕业设计说明书。包括毕业设计任务书、前言、目录、 摘要(300-500 字) 、正文(含需求分析、总体设计、数据库设计、模 块设计、软件测试等) 、程序代码、结束语、参考文献等,共 10000 字。 指导教师(签字):指导教师(签字): 年年 月月 日日 摘要摘要 我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信 息的方式很少,为
3、了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询 系统是具有一定实际应用意义的。在此背景下,我开发了这个应用程序-城市公交 查询系统。本次设计,首先我考虑了公交运营的实际情况和不同公交乘客的实际要 求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述, 其中主要包括二个模块-查询模块(包括按线路查询、按站点查询和按两站点查询) 和管理更新模块(包括公交站点管理和公交线路管理) ,最后结合系统开发阶段和调 试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验。 关键词关键词:公交, asp.net,查询,b/s 结构,数据库 abstracta
4、bstract the development of the bus passenger information system is in a level that fall behind of the city in our country. the large part of passengers can acquire few ways of the information. so its practical for us to develop citys bus passenger information system in order to resolving this proble
5、m. for this purpose, i design this application procedure-bus circuit search system. from this design, first ,i analyzed the present condition of the bus passenger information and different peoples needs, in order to know what functions this equipment should contain. second, i describe the systems ma
6、in function modules in detail, these functions can be divided in to two parts-search system(according to the line search、station search and between two stations search) and management update system(bus station management and bus line management). at last according to the problems that happened in th
7、e period of using, i summed up some ways to improve the system, and some experiences that i can have from this research. keywords :bus,asp.net,search,structure of b/s,database 目录 1 1 绪绪 论论2 2 1.1 系统开发背景2 2 2 开发环境开发环境 3 3 2.1 b/s 模式的特点 3 2.2 jsp 技术简介4 2.3 tomcat简介5 2.3 myeclipse简介5 3 3 可行性分析可行性分析7 7
8、3.1 系统可行性分析 7 3.1.1 技术可行性分析7 3.1.2 操作可行性分析8 3.1.3 经济可行性分析8 3.1.4 社会环境可行性分析8 3.2 系统需要解决的主要问题8 3.3 系统应具备的基本功能9 3.4 系统功能模块划分 9 3.4.1. 普通系统模块 9 3.4.2 高级查询模块9 3.4.3. 后台管理模块 10 4 4 系统设计系统设计 1010 4.1 数据库设计 10 4.1.1 概念设计10 4.1.2 表设计 13 4.2 系统部分模块设计15 4.2.1 普通查询模块15 4.2.1 高级查询模块17 4.2.3 后台管理模块21 5 5 系统的实现系统的
9、实现2222 5.1 普通查询模块22 5.1.1 车次查询子模块25 5.1.2 站点查询子模块26 5.1.3 换乘查询子模块28 5.2 高级查询模块33 5.2.1 车次查询子模块 34 5.2.2 模糊站点查询子模块36 5.2.3 模糊线路查询子模块37 5.2.4 模糊换乘查询38 5.3 后台管理模块39 5.3.1 添加车次42 5.3.2 修改车次45 5.3.3 删除车次46 总总 结结 4 48 8 致致 谢谢4949 参考文献参考文献5050 1 绪论 1.11.1 系统开发背景系统开发背景 随着城市日新月异的发展,城市的规模不断扩大。为了满足发展的需要, 城市公共交
10、通运输的覆盖面越来越广,公交线路也日渐增多,成为绝大多数出 行者的首选方式。这在给人们的出行带来了极大便利的同时,也因线路众多, 给人们在选择出行乘车线路时带来了一定的困扰。因此,提供方便、快捷、经 济、高效的公交出行线路方案,不仅能方便市民的出行和生活,也为城市减少 不必要的交通堵塞,有利于提高城市交通运输效率。同时,展示了现代城市信 息化的风貌,提升城市形象。 西方国家对这一点重视的较早,如美国、日本、加拿大、英国、法国等国 家都投入了较大的人力和物力从事智能公共交通系统研究,并己取得了显著的 成果,建立了一种在公交网络的基础上,运用计算机网络技术、数据库技术、 通信技术、电子技术、智能卡
11、技术等先进科学技术,形成集智能化调度、公交 电子收费、信息服务、网络通信于一体的公共交通规划管理系统。其中的公共 交通优化系统对公交线网布局、公交线路配置、站点布置、发车间隔确定、票 价制定等进行设计和优化,从规划方面提高公交服务水平。 而我国城市公交乘客信息系统的发展处还于一个落后的水平,公交信息的 完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。 乘客可以获得的公交信息很少,而且获取方式以常规手段为主,一般获得公交 信息的方式局限于电话,交通图,向熟人问讯等常规方式,获得线路、站点等 基本信息。另外乘客出行过程中获得信息困难,除少数几个城市乘客可以通过 分布于城市中的若
12、干电子站牌获得些公交车辆的运营信急以外,在其它城市, “出行中”的乘客无法获得仟何信息。 所以从国内公交信息与规划的发展需求和国外发展趋来看,需要建立一个 以高效的公交数据库为基础的、面向公交线路的在线公交车线路查询系统。 2 开发环境 2.12.1 b/sb/s 模式的特点模式的特点 b/s(浏览器/服务器)是由浏览器、web 服务器、应用服务器和数据库服 务器组成的多层结构体系。b/s 模式具有以下特点: (1) 用户界面简单易用。用户使用单一的浏览器软件,通过鼠标即可访问 文本、图像、声音、电影及数据库等信息,特别适合非计算机人员使用。 (2) 易于维护与升级。由于客户端无需专用的软件,
13、所以,系统的维护和 升级工作简单。 (3) 具有良好的开放性。浏览器/服务器结构采用标准的 tcp/ip、http 协 议,能够与遵循这些标准协议的信息系统及其网络很好的结合,具有良好的开 放性,保护了用户的投资。 (4) 信息共享度高。html 是数据格式的一种开放标准,目前信息系统中 大多数流行的软件均支持 html。 (5) 扩展性好。tcp/ip、http 的标准性使得浏览器/服务器结构可直接接 入 internet,具有良好的扩展性。 (6) 网络适应性强。无论是 pstn、ddn、帧中继、x.25、isdn、还是 catv、adsl,浏览器/服务器结构均能适应。 (7) 安全性好。
14、防火墙技术保证了浏览器/服务器结构的安全性。 2.22.2 jspjsp 技术简介技术简介 jsp(java server pages)是由 sun microsystems 公司倡导、许多公司参与一起 建立的一种动态网页技术标准。jsp 技术有点类似 asp 技术,它是在传统的网 页 html 文件(*.htm,*.html)中插入 java 程序段(scriptlet)和 jsp 标记(tag),从而 形成 jsp 文件(*.jsp)。 用 jsp 开发的 web 应用是跨平台的,即能在 linux 下运行,也能在其他操 作系统上运行。 jsp 技术使用 java 编程语言编写类 xml
15、的 tags 和 scriptlets,来封装产生 动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源 的应用逻辑。jsp 将网页逻辑与网页设计和显示分离,支持可重用的基于组件 的设计,使基于 web 的应用程序的开发变得迅速和容易。 web 服务器在遇到访问 jsp 网页的请求时,首先执行其中的程序段,然后 将执行结果连同 jsp 文件中的 html 代码一起返回给客户。插入的 java 程序段 可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp 与 java servlet 一样,是在服务器端执行的,通常返回该客户端的就是 一
16、个 html 文本,因此客户端只要有浏览器就能浏览。 jsp 的 1.0 规范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规范。 目前较新的是 jsp1.2 规范,jsp2.0 规范的征求意见稿也已出台。 jsp 页面由 html 代码和嵌入其中的 java 代码所组成。服务器在页面被客 户端请求以后对这些 java 代码进行处理,然后将生成的 html 页面返回给客户 端的浏览器。java servlet 是 jsp 的技术基础,而且大型的 web 应用程序的开 发需要 java servlet 和 jsp 配合才能完成。jsp 具备了 java 技术的简单易用,完
17、全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 2.32.3 tomcattomcat 简介简介 tomcat 服务器是一个免费的开放源代码的 web 应用服务器,是 apache 软件基金会(apache software foundation)的 jakarta 项目中的一个核心项目, 由 apache、sun 和其他一些公司及个人共同开发而成。由于有了 sun 的参与 和支持,最新的 servlet 和 jsp 规范总是能在 tomcat 中得到体现,tomcat 5 支持最新的 servlet 2.4 和 jsp 2.0 规范。因为 tomcat 技术先进、性能稳定
18、, 而且免费,因而深受 java 爱好者的喜爱并得到了部分软件开发商的认可,成为 目前比较流行的 web 应用服务器。 tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性 好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的 改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用 户不是很多的场合下被普遍使用,是开发和调试 jsp 程序的首选。对于一个初 学者来说,可以这样认为,当在一台机器上配置好 apache 服务器,可利用它 响应对 html 页面的访问请求。实际上
19、 tomcat 部分是 apache 服务器的扩展, 但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 apache 独 立的进程单独运行的。当配置正确时,apache 为 html 页面服务,而 tomcat 实际上运行 jsp 页面和 servlet。另外,tomcat 和 iis、apache 等 web 服务器 一样,具有处理 html 页面的功能,另外它还是一个 servlet 和 jsp 容器,独 立的 servlet 容器是 tomcat 的默认模式。不过,tomcat 处理静态 html 的能力 不如 apache 服务器。 2.32.3 myeclipse
20、myeclipse 简介简介 myeclipse 企业级工作平台(myeclipse enterprise workbench ,简称 myeclipse)是对 eclipse ide 的扩展,利用它我们可以在数据库和 j2ee 的开发、 发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 j2ee 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 html, struts, jsf, css, javascript, sql, hibernate。 在结构上,myeclipse 的特征可以被分为 7 类: 1. j2ee 模型 2. web 开发工具 3. e
21、jb 开发工具 4. 应用程序服务器的连接器 5. j2ee 项目部署服务 6. 数据库服务 7. myeclipse 整合帮助 对于以上每一种功能上的类别,在 eclipse 中都有相应的功能部件,并通过 一系列的插件来实现它们。myeclipse 结构上的这种模块化,可以让我们在不影 响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,myeclipse 是 eclipse 的插件,也是一款功能强大的 j2ee 集成 开发环境,支持代码编写、配置、测试以及除错。 eclipse 是一个开放源代码的、基于 java 的可扩展开发平台。就其本身而 言,它只是一个框架和一组服务,用于
22、通过插件组件构建开发环境。幸运的是, eclipse 附带了一个标准的插件集,包括 java 开发工具(java development tools,jdt) 。 eclipse 最初是由 ibm 公司开发的替代商业软件 visual age for java 的下一 代 ide 开发环境,2001 年 11 月贡献给开源社区,现在它由非营利软件供应商 联盟 eclipse 基金会(eclipse foundation)管理。 2003 年,eclipse 3.0 选择 osgi 服务平台规范为运行时架构。 2007 年 6 月,稳定版 3.3 发布。2008 年 6 月发布代号为 ganym
23、ede 的 3.4 版。 eclipse 是著名的跨平台的自由集成开发环境(ide) 。最初主要用来 java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 c+和 python 的开发工具。eclipse 的本身只是一个框架平台,但是众多插件的支持使 得 eclipse 拥有其他功能相对固定的 ide 软件很难具有的灵活性。许多软件开发 商以 eclipse 为框架开发自己的 ide。 eclipse 最初由 oti 和 ibm 两家公司的 ide 产品开发组创建,起始于 1999 年 4 月。ibm 提供了最初的 eclipse 代码基础,包括 platform、jdt 和
24、pde。 目前由 ibm 牵头,围绕着 eclipse 项目已经发展成为了一个庞大的 eclipse 联盟, 有 150 多家软件公司参与到 eclipse 项目中,其中包括 borland、rational software、red hat 及 sybase 等。eclipse 是一个开发源码项目,它其实是 visual age for java 的替代品,其界面跟先前的 visual age for java 差不多,但 由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件, 因此越来越受人们关注。近期还有包括 oracle 在内的许多大公司也纷纷加入了 该项目,并宣称 e
25、clipse 将来能成为可进行任何语言开发的 ide 集大成者,使用 者只需下载各种语言的插件即可。 3 可行性分析 3.13.1 系统系统可行性分析可行性分析 需求分析工作是系统设计的出发点和依据。概括地说线路查询系统的需求 分析就是要根据出行人员的具体需求情况,明确需要什么样的查询系统,需要 什么样的功能和性能,为什么需要,以及各种需求的紧迫程度如何。只有需求 明确了,按需求建立起来的线路查询系统才能达到预期的目标,取得预定的效 果。 3.1.1 技术可行性分析 本系统采用的是 tomcat、jsp 和数据库相结合的方法,将所有收集的数据 信息按其属性分类存储到数据库中,再通过程序调用这些
26、数据信息实现各种查 询及管理,即所谓的程序设计数据化,数据管理程序化思想。 基于这种思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用 性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系 统维护工作,并可不断更新。 所以本系统在技术上是绝对可行的。而且该系统对于操作环境的要求不高, 现在普遍使用的计算机都可以运行该系统。 3.1.2 操作可行性分析 本系统界面美观明了,提供的信息语言通俗易懂,而且操作容易,用户只 要懂得初步的计算机操作即可。 3.1.3 经济可行性分析 从成本上看来,开发及维护系统所需的计算机、网络等硬件设备,网络等 通信费用,软件支持等基本上都是现有
27、的。 从收益看来:本系统作为公交线路查询的具体应用,是带有实验性、贡献 性的,在一定时期内无经济上收益。是注重以后的潜在发展,是在概念上、形 象上的不断升值。 3.1.4 社会环境可行性分析 如今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加 难,给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客 在乘公交车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同 时可以对外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的 发展水平。所以本系统拥有非常成熟的市场。 3.23.2 系统需要解决的主要问题系统需要解决的主要问题 综合应用 jsp 等技术,从公
28、交查询系统建立的必要性出发,使用软件系统 设计的一般方法,根据业务需求,对其进行分析、归纳, 形成需求设计文档, 根据需求分析进行系统的概要设计、详细设计及代码开发,从而完成整个设计。 设计一个适用的公交车线路查询系统,主要实现以下功能: 1. 公交路线查询功能(包括按线路查询、按站点查询、按起点终点站查 询,换乘查询,也支持模糊查询) ; 2. 公交路线信息的管理功能(包括对路线信息的添加、删除、修改) 。 3.33.3 系统应具备的基本功能系统应具备的基本功能 基于 b/s 模式的应用系统的开发设计方法,开发出一个适用的公交查询系 统软件,实现以下功能: (1)特定线路的沿途到站情况; (
29、2)通过特定站点的所有线路名称 ; (3)两个站点之间的直达公交车次; (4)给定起止站点,给出可达的换乘线路; (5)模糊查询; (6)公交路线信息的管理,数据的维护; 新增:允许管理员级的用户对数据进行新增操作,保证数据库的真实 性与实时性; 更新:允许管理员级的用户对数据进行更新操作,保证数据库的真实 性与实时性; 删除:允许管理员级的用户对数据进行删除操作,保证数据库的真实 性与实时性。 3.43.4 系统功能模块划分系统功能模块划分 3.4.1. 普通系统模块 该模块实现公交查询功能。可实现按线路查询、站点查询和起点终点 查询查询三种查询方式。 3.4.2 高级查询模块 该模块实现高
30、级查询,包括车次查询、模糊站点查询、模糊线路查询、模 糊换乘查询。 3.4.3. 后台管理模块 该模块实现数据的新增、修改、删除功能 系统模块图如图所示: 系统模块图 无锡公交查询系统 普通查询高级查询后台管理 按线路查询 按站点查询 两站点间换乘查询 车次查询 模糊站点查询 模糊线路查询 模糊换乘查询 添加修改删除 车次信息 车次信息 车次信息 4 系统设计 4.14.1 数据库设计数据库设计 4.1.1 概念设计 概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即 概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的 dbms, 不依赖于计算机系统的。 1、e-r 模
31、型 e-r 模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。 使用这三种成分,我们可以建立许多应用环境的 er 模型。 2、 e-r 模型的操作 在利用 e-r 模型进行数据库概念设计的过程中,常常需要对 er 图进行种 种变换。这些变换又称为 e-r 模型的操作,包括实体类型、联系类型和属性的 分裂、合并和增删等等。 3、利用 e-r 方法的数据库概念设计 利用 e-r 方法进行数据库的概念设计,可以分成三步进行:首先设计局部 e-r 模式,然后把各局部 e-r 模式综合成一个全局 e-r 模式,最后对全局 e-r 模式进行优化,得到最终的 e-r 模式,即概念模式。 通常,一个
32、数据库系统都是为多个不同用户服务的。各个用户对数据的观 点可能不一样,信息处理需求也可能不同。在设计数据库概念结构时,为了更 好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的 信息需求,形成局部概念结构,然后再综合成全局结构。在 e-r 方法中,局部 概念结构又称为局部 e-r 模式,其图形表示称为 e-r 图。 具体实体属性的关系图如图所示: 4.联系定义 e-r 模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结 构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体 实体属性关系图 车次信息 车辆序号 车次号 经过站点信息 夏季发车时间 夏
33、季结束时间票价冬季结束时间 冬季发车时间 管理员信息 管理员密码备注 管理员帐号 管理员姓名 类型之间是否存在联系。若有联系,进一步确定是 1:n,m:n,还是 1:1 等。还 要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多 个实体类型之间是否存在联系,等等。 5、设计全局 e-r 模式 所有局部 e-r 模式都设计好了后,接下来就是把它们综合成单一的全局概 念结构。全局概念结构不仅要支持所有局部 e-r 模式,而且必须合理地表示一 个完整、一致的数据库概念结构。 1)确定公共实体类型 为了给多个局部 e-r 模式的合并提供开始合并的基础,首先要确定各局部 结构中的公共实
34、体类型。在这一步中我们仅根据实体类型名和键枕认定公共实 体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的 实体类型作为公共实体类型的另一类候选。 2)局部 e-r 模式的合并 合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局 部结构;合并从公共实体类型开始,最后再加入独立的局部结构。 3)消除冲突 冲突分为三类:属性冲突、结构冲突、命名冲突。 设计全局 er 模式的目的不在于把若干局部 e-r 模式形式上合并为一个 er 模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概 念模型。 4)全局 e-r 模式的优化 在得到全局 e-r 模式后,
35、为了提高数据库系统的效率,还应进一步依据处 理需求对 e-r 模式进行优化。一个好的全局 e-r 模式,除能准确、全面地反映 用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类 型所含属性个数尽可能少;实体类型间联系无冗余。 本系统的 e-r 模型如图 3.3.1-2 所示 线 路 车 次 票 价 站 点时 间 1:n1:1 1:1 1:1 图 3.3.1-2 er 模型图 4.1.2 表设计 考虑系统的实际需要,系统需要公交信息表,管理员表。 1公交信息表(bus) 公交信息表存储公交线路的详细信息,字段说明如表 3-1 所示 bus 表的字段说明 编号字段名称字段类型字段
36、说明 1busidnvarchar 车次号 主键 2detailntext车次经过站点 3a_stimentext夏季发车时间 4w_stimentext冬季发车时间 5a_etimentext夏季结束时间 6w_etimentext冬季结束时间 7t_valueint票价 8sortint车序号 create table bus ( busid nvarchar primary key, detail ntext not null, a_stime ntext, w_stime ntext, a_etime ntext, w_etime ntext, t_value int not null
37、, sort int not null ) 其中 detail 存放车次的站点信息,其格式为-。 2. 管理员表 管理员表存储管理员的详细信息,字段说明如表 3-1 所示 编号字段名称字段类型字段说明 1manageridnvrchar管理员编号 2truenamenvrchar管理员姓名 3passwordnvrchar密码 4commentnvrchar备注 create table manager ( managerid nvrchar primary key, truename nvrchar not null, password nvrchar not null, comment n
38、vrchar ) 4.24.2 系统部分模块设计系统部分模块设计 无锡公交线路查询系统总体上可分为普通查询模块(包括清晰站点查询、 清晰线路查询、清晰换乘查询) 、高级查询模块(包括模糊车次查询、模糊站点 查询、模糊线路查询、模糊换乘查询) ,后台管理模块(包括删除线路、修改线 路、添加线路等功能) 。 4.2.1 普通查询模块 1. 线路查询 首先用户准备查询公交线路,在下拉菜单中选择选择公交车次号,启动车 次查询,系统从数据库中读取公交车次信息,在新窗口中显示车次经过的站点 等详细信息。 2. 站点查询 首先用户准备查询站点信息,在下拉菜单中选择选择要查询的站点,启动 站点查询,系统从数据
39、库中读取公交站点信息,在新窗口中显示经过该站点的 公交线路的详细信息。 选择公交车次号 用户准备 查询公交 线路信息 启动车次查询 显示车次信息查 询结果 从数据库中读取 公交车次信息 线路查询流程图 选择查询的站点 用户准备 查询公交 站点信息 启动站点查询 显示站点信息查 询结果 从数据库中 读取站点信息 站点查询流程图 3. 换乘查询 首先用户准备查询换乘信息,在下拉菜单中选择选择起始站点和到达站点, 启动换乘查询,系统首先判断是否有直达车,如果有直达车直接给出换乘信息, 如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗 口中显示显示换乘信息查询结果。 4.2.1 高
40、级查询模块 1. 车次查询 首先用户准备查询公交车次,在文本框中输入公交车次号,系统判断输入 选择起始站点 用户准备 查询线路 换乘信息 选择到达站点 显示换乘信息查 询结果 在数据库中查找 换乘线路和中转站 启动换乘查询 判断是否有 直达车 生成换乘信息 换乘查询流程图 y n 车次号是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正 确启动车次查询,系统从数据库中读取公交车次信息,在新窗口中显示车次经 过的站点等详细信息 2. 模糊站点查询 首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判 提示错误信息 要求重新输入 检验输入 是否有效 输入查询的车次 用户准备
41、 查询公交 车次信息 启动车次查询 显示车次信息查 询结果 从数据库中 读取车次信息 模糊车次查询流程图 y n 断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若 输入正确启动模糊查询,系统从数据库中读取与站点关键字匹配的站点,在新 窗口中显示所有与输入关键字匹配的所有站点。 3. 模糊线路查询 首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判 断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若 输入正确启动模糊查询,系统从从数据库中读取经过与站点关键字匹配的站点 提示错误信息 要求重新输入 检验输入 是否有效 输入查询的站点关键字 用户准
42、备 查询公交 站点信息 启动模糊查询 显示站点信息查 询结果 从数据库中读取与 站点关键字匹配的站点 模糊站点查询流程图 y n 的线路 ,在新窗口中显示所有与输入关键字匹配的所有线路,即与关键字相关的 车次及详细信息。 4. 模糊换乘查询 首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判 提示错误信息 要求重新输入 检验输入 是否有效 输入查询的站点关键字 用户准备 查询公交 线路信息 启动模糊查询 显示线路信息查 询结果 从数据库中读取经过与 站点关键字匹配的站点的线路 模糊线路查询流程图 y n 断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若 输入正
43、确启动模糊查询,系统从数据库中读取与关键字匹配的站点,然后启动 换乘查询,系统先判断是否有直达车,如果有直达车直接给出换乘信息,如没 有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗口中 显示显示换乘信息查询结果。 模糊换乘查询流程图 用户准备 查询线路 换乘信息 输入起始站点和到 达站点关键字 显示线路信息查 询结果 在数据库中查找 换乘线路和中转站 启动换乘查询 判断是否有 直达车 生成换乘信息 检验输入 是否有效 提示错误信息 要求重新输入 y n n y 4.2.3 后台管理模块 管理员维护整个系统,管理员输入用户名和密码后,登陆后台管理系统, 在后台管理系统,管理员可
44、以进行添加车次信息,修改车次信息,删除车次信 息等操作。 5 系统的实现 5.15.1 普通查询模块普通查询模块 系统主页即是普通查询模块,是由 homepage.jsp 页面实现,它包括了站点 查询子模块、线路查询子模块和换乘查询子模块。如图所示。 输入用户名和密码 登录后台管理系统 管理员要 进行后台 管理 添 加 车 次 信 息 修 改 车 次 信 息 删 除 车 次 信 息 退出后台 管理系统 后台管理流程图 主页核心是把数据库中的车次和站点取出来,在下拉列表中显示。主要采 用了resultset.getstring()方法,首先设置两个数据库结果集(resultset) result
45、1、 result2.和两个数组busid、all_station,分别存放车次号和站点名, 因为站点采用-的方式存在数据库中所以采用 stringtokenizer str=new stringtokenizer(detail,-);方法将站点取出来存入 all_station,然后遍历数组在下拉列表中显示。其核心代码如下: while(result1.next() busidi=result1.getstring(busid); i+; result1.close();/把车次查询的车次号存入 busid中。 while(result2.next() /把每一条记录放入临时变量detail
46、中 detail=result2.getstring(detail); stringtokenizer str1=new stringtokenizer(detail,- ); /对每一条记录的每一个站点进行比较 while(str1.hasmoretokens() mark=0;/恢复mark的值,以便比较下一条记录 stringtokenizer str2=new stringtokenizer(str1.nexttoken(), ); station2=str2.nexttoken(); /注:count是随着程序的执行而不断的增加 for(int k=0;k); while(str1.
47、hasmoretokens() stationscount=str1.nexttoken(); count+; 在页面中显示该车次经过的所有站点。 5.1.2 站点查询子模块 用户可以从“请选择站点”下拉列表中得到数据库中的所有站点,选中要 查询的站点,然后点击查询,即可显示所有经过要查询站点的车次号和经过的 所有站点,其中要查询的站点在结果中高亮显示。例如,查询南禅寺(朝阳广 场) ,结果如图所示。 用户点击“查询” ,触发 submit 事件,将得到的数据“query2”传递 resultquery2.jsp”进行站点查询,resultquery2.jsp”主要是通过 string bus
48、id = request.getparameter (query2); 得到所选中的站点,然后用 statement=select * from bus where detail like %+station+% order by sort asc ; result=sql.executequery(statement); 从数据库中查出所有经过要查询站点的车次号和经过的所有站点。最后通 过 while(result.next() string busid=result.getstring(busid); string detail=result.getstring(detail); stri
49、ngtokenizer str1=new stringtokenizer(detail,-); count=0; while(str1.hasmoretokens() stationscount=str1.nexttoken(); count+; 显示所有经过要查询站点的车次号和经过的所有站点 5.1.3 换乘查询子模块 用户可以从“请选择起始站”和“请选择到达站”下拉列表中得到数据库 中的所有站点,选中要查询的起始站和到达站,然后点击查询,即可显示所有 到达的途径,如果没有直达车,将为你建议若干中转站。例如南禅寺到国家软 件园有直达车,结果如图所示。 例如国家软件园(菱湖大道)到蠡湖广场没有
50、直达车,要进行换乘,结果 如图所示。 用户点击“查询” ,触发 submit 事件,将起始站点“s_query3”和到达站点 “e_query3”传递到到resultquery3.jsp”进行车次查询,resultquery3.jsp”得 到要查询的起始站和到达站后,首先判断是否有直达车,如果有直达车直接给 出换乘信息,如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘 信息,在新窗口中显示显示换乘信息查询结果。当有直达车时,查询代码如下。 con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/db_b us,root,ro
51、ot); sql1=con.createstatement();/从数据库中找出所有含有起始站和终止站的数据 string condition1=select * from bus where detail like %+s_station+%+e_station+% or detail like %+e_station+%+s_station+% order by sort asc; result1=sql1.executequery(condition1); /把结果放在数组result1i中 while(result1.next() result1i=result1.getstring(
52、busid); detaili=result1.getstring(detail); i+; result1.close(); 之后输出查询结果。 当没有直达车需要转车时,询代码如下。 /查询所有包含有起始站,而不包含终点站的车次信息 sql2=con.createstatement(); string condition2=select * from bus where detail like %+s_station+% and detail not like %+e_station+%; result2=sql2.executequery(condition2); while(result
53、2.next() s_busidj=result2.getstring(busid); s_detailj=result2.getstring(detail); j+; result2.close();/关闭第二个结果集 /查询所有包含有终点站,不包含起始站的车次信息 sql3=con.createstatement(); string condition3=select * from bus where detail like %+e_station+% and detail not like %+s_station+%; result3=sql3.executequery(conditio
54、n3); while(result3.next() e_busidh=result3.getstring(busid); e_detailh=result3.getstring(detail); h+; result3.close();/关系第三个结果集 /把要转车的信息放result2系列的数组 for(k=0;k符号区分 stringtokenizer str1=new stringtokenizer(detail1,-); /对s_detail中的每一个元素的每一个站点进行比较 while(str1.hasmoretokens() station1 = str1.nexttoken();
55、/初始临时变量 /取出e_detail数组中的每一个元素 for(n=0;n); /取出e_detail数组中的每一个元素的每一个站点 while(str2.hasmoretokens() station2 = str2.nexttoken(); /把结果存储到结果集中 if(station1.equals(station2) result2_id1count= s_busidk; result2_tancount= station1; result2_id2count= e_busidn; count+; 之后输出转乘车次 1,转乘车次 2,以及中转站信息。 5.25.2 高级查询模块高级查
56、询模块 高级查询模块由 advancequery.jsp 页面实现,在主页上点击高级搜索即可进 入高级查询模块,包括车次查询、模糊站点查询、模糊线路查询、模糊换乘查 询) ,它与普通查询的区别是可以模糊查询,也就是不完全匹配,用户只需输入 站点名称和部分字符信息,系统便会给出与此相关的所有站点信息。页面如图 所示。 因为车次查询子模块、模糊站点查询子模块、模糊线路查询子模块之间都 有联系,所以写在了一个文件中resultadvance1.jsp 中,在 resultadvance1.jsp通过 string keyword= request.getparameter(advance1); 得到
57、“advance1” ,然后通过if(method.equals(按站点查询), else if(method.equals(按路线查询) ,else if(method.equals(按车次查询)来 区分三种查询模块。 5.2.1 车次查询子模块 用户进入界面后,可以输入要查询的车次号,然后选择查询方式,选择 “按车次查询” ,点击查询,即可显示该车次经过的所有站点。例如查询 9 路车。 结果如图所示。 在车次查询子模块中通过 statement=select * from bus where busid=+busid+; result=sql.executequery(statement)
58、; 从数据库中查出车次经过的所有站点。遍历后显示出来。核心代码如下: int id=integer.parseint(keyword); statement sql=con.createstatement(resultset.type_scroll_sensitive,resultset.con cur_read_only); statement=select * from bus where sort=+id+; result=sql.executequery(statement); if(!result.next() response.sendredirect(errorquery1.js
59、p); else result.previous(); /显示站点的详细信息 while(result.next() string detail=result.getstring(detail); a_startime=result.getstring(a_stime); a_endtime=result.getstring(a_etime); w_startime=result.getstring(w_stime); w_endtime=result.getstring(w_etime); t_value=result.getint(t_value); stringtokenizer str
60、1=new stringtokenizer(detail,-); while(str1.hasmoretokens() stationscount=str1.nexttoken(); count+; 5.2.2 模糊站点查询子模块 用户进入高级查询界面后,可以输入要查询站点的关键字,然后选择查询 方式,选择“按站点查询” ,点击查询,即可显示包括该关键字的所有站点。例 如输入关键字“软件园” 。结果如图所示。 在站点模糊查询子模块首先用 stringtokenizer 方法得到所有站点存入 all_station,然后用 for(int i=0;i 你输入的用户名或密码不正确! 请重新输入 返
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产管理制度
- 2025年基层竞职面试题及答案
- 中式面点师2023练习试卷附答案
- 2025年物流主管面试试题及答案
- 2025年员工三级培训试题及答案
- 2025年胰岛素泵试题及答案
- 2025年公安辅警招聘知识考试题(附含答案)
- 2025年公共科目急救考试题及答案
- 2025年玉化液体测试题及答案
- 苏州哪吒魔童降世主题快闪店策划方案
- 基本乐理及音乐常识类知识考试题及答案
- 人教版(2024)七年级上册英语各单元短文填空练习题汇编(含答案解析)
- DB61∕T 1165-2018 高速公路服务区服务规范
- 《环境保护与国家安全》高效备课课件
- 建筑竣工验收表格资料大全
- 主题二生活物品小改造(教学设计)辽师大版四年级下册综合实践活动
- 数字化井控技术研究现状及发展趋势
- 中医内科学智慧树知到答案2024年浙江中医药大学
- 2025届陕西省西安市碑林区铁一中学高三最后一模生物试题含解析
- 急性皮肤衰竭与压力性损伤鉴别
- 港口工程优化与建设
评论
0/150
提交评论