基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc

上传人:sccc 文档编号:4835049 上传时间:2023-05-18 格式:DOC 页数:34 大小:682.02KB
返回 下载 相关 举报
基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc_第1页
第1页 / 共34页
基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc_第2页
第2页 / 共34页
基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc_第3页
第3页 / 共34页
基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc_第4页
第4页 / 共34页
基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc》由会员分享,可在线阅读,更多相关《基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD设计.doc(34页珍藏版)》请在三一办公上搜索。

1、天津职业技术师范大学Tianjin University of Technology and Education毕 业 论 文基于S2SH的城市公交查询系统-车次、站点及换乘查询和ODUrban Public Transport Query System Based On S2SH- Trips, Site And Transfer Inquiries And OD专业班级:软件0901学生姓名: 指导教师: 学 院:信息技术工程学院2013 年 6月摘 要今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加难,给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公交

2、车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同时可以对外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。所以本系统拥有非常成熟的市场。该公交路线查询系统采用Java、JSP作为前台的应用程序开发语言、采用DIV+CSS布局进一步美化页面。利用MySQL创建后台的数据库,在MyEclipse10.0的开发环境下采用S2SH(Struts2 + Hibernate + Spring)整合框架技术进行开发,三层MVC结构提高了系统扩展性和易维护性。从而实现了六大功能:查询功能、OD调查分析功能、用户登录注册功能、用户个人中心、车次管理和公告管理。该公交路线查询系统,

3、旨在利用需要建立一个以高效的公交数据库为基础的、面向公交线路的在线公交车线路查询系统。关键字:公交路线查询系统;S2SH框架;OD调查ABSTRACTThis urban transformation ever-accelerating, bus lines have continued to increase, making the convenience of transportation even more difficult to travelers choose to travel by car line may cause some difficulty, especially i

4、n the tourist city, tourists bus line comparisondifficulties, it can not only ride to the public visitors wizard can begin to show the modern style of the city, reflecting the level of a city bus digitization of information and the development of information technology. So the system has a very matu

5、re market.The bus route query system using Java, JSP as a foreground application development language, DIV + CSS layout further beautify the page. MySQL to create a background database development environment in MyEclipse10.0 S2SH (Struts2 + Hibernate + Spring) integration framework technology devel

6、opment the three MVC structure to improve the system scalability and ease of maintenance. In order to achieve the six functions: query function, the OD investigation and analysis functions, user login registration function, the users personal center, train management and announcements management.The

7、 bus route inquiry system, designed to take advantage of the need to establish an efficient public transport database-based, online bus line query system for bus lines. Key Words: The Bus route query the system; S2SH framework; OD survey目 录1 绪论11.1 项目背景11.2 课题内容11.3 课题意义与目的22 系统的开发工具和关键技术32.1 开发与运行环

8、境32.1.1 MyEclipse1032.1.2 Tomcat6.032.1.3 MySQL6.032.2 相关技术42.2.1 Struts2框架42.2.2 Hibernate框架42.2.3 Spring框架53 需求分析63.1 功能需求63.1.1 查询功能63.1.2 OD管理63.1.3 功能用例73.2性能需求73.2.1 系统处理的准确性和及时性73.2.2 系统的开方性和可扩充性83.2.3 系统的易用性和易维护性83.2.4 系统的响应速度84 系统设计94.1 系统框架设计94.2 系统功能图94.3 数据库的设计104.3.1 概念模型设计104.3.2 逻辑结构设

9、计135 系统的详细设计与实现165.1 查询功能的设计和实现165.1.1 车次查询的设计和实现165.1.2 站点查询的设计和实现175.1.3 换乘查询的设计和实现185.2 OD模块的设计和实现205.2.1 用户OD调查的设计和实现205.2.2 后台OD生成的设计和实现206 测试226.1 概念和意义226.2 单元测试226.3 本系统测试描述24总 结25参考文献36致 谢37天津职业技术师范大学2013届本科生毕业设计1 绪论1.1 项目背景随着城市日新月异的发展,城市的规模不断扩大。为了满足发展的需要,城市公共交通运输的覆盖面越来越广,公交线路也日渐增多,成为绝大多数出行

10、者的首选方式。这在给人们的出行带来了极大便利的同时。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式。本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。西方国家对这一点重视的较早,如美国、日本、加拿大、英国、法国等国家都投入了较大的人力和物力从事智能公共交通系统研究,并已取得了显著的成果,建立了一种在公交网络的基础上,运用计算机网络技术、数据库技术、通信技术、电子技术、智能卡技术等先进科学技术,形成集智能化调度、公交电子收费、信息服务、网络通信于一体的公共交通规划管理系统。其中的公共交

11、通优化系统对公交线网布局、公交线路配置、站点布置、发车间隔确定、票价制定等进行设计和优化,从规划方面提高公交服务水平。而我国城市公交乘客信息系统的发展处还于一个落后的水平,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。乘客可以获得的公交信息很少,而且获取方式以常规手段为主,一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式,获得线路、站点等基本信息。另外乘客出行过程中获得信息困难,除少数几个城市乘客可以通过分布于城市中的若干电子站牌获得些公交车辆的运营信急以外,在其它城市,“出行中”的乘客无法获得仟何信息。 所以从国内公交信息与规划的发展需求和国外发

12、展趋来看,需要建立一个以高效的公交数据库为基础的、面向公交线路的在线公交车线路查询系统。1.2 课题内容我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系统是具有一定实际应用意义的。本系统采用了功能强大的Java语言与Mysql数据库的完美结合,提供用户一个完全开放的查询平台。管理员经过统一身份认证后可以对公交线路及站点进行添加、删除、修改等功能。用户进入相关页面后可以根据个人需要进行站点换乘查询、公交线路查询、公交站点查询功能。本系统包含六大功能:查询功能、OD调查分析功能、用户登录注册功能、用

13、户个人中心、车次管理和公告管理。本文实现了系统的两大功能:查询功能和OD调查分析功能。模块与模块之间存在很强的逻辑关系,是按照对客户关系的管理的流程而设计。例如查询功能中含有车次查寻、站点查询和换成查询。这些查询帮助用户更快地寻找到合适的路线。OD调查分析功能根据来自用户的数据分析出该站点的OD矩阵信息为公交规划提供依据。1.3 课题意义与目的公交查询系统是近两年出现的新生事物,每个城市的发展状况也是良莠不齐。目前的公交查询系统,基本上具备一下功能:采用车站站点查询、车次查询、站至站查询三种查询形式,不仅能够查询到各条线路的起止点,同时还能够分析出换乘车辆情况。OD调查可以帮助弄清交通源和交通

14、源之间的关系,获取道路网上交通流的构成、流量、流向、车辆起讫点,从而推求目标年的交通量,为交通规划等工作提供基础数据;为调整和改善道路系统功能 ,从系统和政策上对近远期工程项目排序提供依据;客观分析评价交通出行特征,特别是公交服务水平,为提高公交运行效率、制定相关政策提供依据。2 系统的开发工具和关键技术这一阶段主要描述系统的开发工具、运行环境和相关技术。2.1 开发与运行环境本系统利用MyEclipse 10为后台代码的开发工具,apache-tomcat-6.0.35为运行服务器,MySQL 5.5.30作为后台的数据库管理。2.1.1 Myeclipse10MyEclipse 10 版本

15、使用最高级的桌面和Web开发技术,包括 HTML5 和 Java EE 6,支持 JPA 2.0、JSF 2.0 、Eclipselink 2.1 以及 OpenJPA 2.0. 它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。完整支持HTML、Struts2、JSP、CSS、Javascript、Spring、SQL和Hibernate。2.1.2 Tomcat6.0Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了S

16、un的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat6支持最新的Servlet3.0和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调

17、试JSP程序的首选。2.1.3 MySQL 5.5MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

18、为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。2.2 相关技术本系统采用S2SH(Struts2 + Spring + Hibernate)整合框架技术进行开发,它也是本系统的关键技术,下面对三个框架进行介绍。2.2.1 Struts2框架Struts2是在WebWork这个框架基础上发展起来的,它不是struts1的升级,它在实现原理和编程应用上与struts1都完全不同,可以说是彻底抛弃了st

19、ruts1的架构。虽然WebWork在设计上却是要比struts1先进,但由于用户习惯问题,所以很难被普及,只有挂羊头卖狗肉才会被市场逐步接受,基于这些原因,WebWork开发团队与Struts1开发团队开始合作,借struts1之名,行WebWork之实,推出了Struts2。Struts2相比struts1的劣势: struts1是老牌框架,应用很广泛,有很好的群众基础,开发人员比较好招,项目开发的风险小,成本更低!struts2虽然基于Webwork框架,但是应用人群虽多,相对不成熟,未知的风险和变化还很多,开发人员相对不好招,使用它开发项目的风险系数更大,用人成本更高!Struts2相

20、比struts1的优势: struts2毕竟是站在前辈的基础设计出来,它会改善和完善struts1中的一些缺陷,struts1中的一些悬而未决问题在struts2得到了解决。当表示层有了MVC模式,程序开发就会变得有章可循。2.2.2 Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E

21、JB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。2.2.3 Spring框架Spring是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架

22、构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益5。Spring有如下的特点:(1)方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 (2)AOP编程的支持通过

23、Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。 (3)声明式事务的支持在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。 (4)方便程序的测试 可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。 (5)方便集成各种优秀框架 Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate)等的直接支持。 (6)降低Ja

24、va EE API的使用难度 Spring对很多难用的Java EE API(如JDBC,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。 (7)Java源码是经典学习范例 Spring的源码设计精妙、结构清晰。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果。3 需求分析需求分析阶段基本任务是准确地回答“系统必须做什么?”这个问题。下面对系统进行功能需求和性能需求分析,确定系统功能。3.1 功能需求城市公交查询系

25、统为了能够为公司创造更多的财富,我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少。为了解决这种问题加快发展城市公交信息化设计一个城市公交查询系统是具有一定实际应用意义的。本文在本系统中涉及了查询功能、OD管理两个功能模块。下面对这两个功能模块进行需求分析。3.1.1 查询功能查询功能是整个系统的核心功能,良好的查询算法是提高性能的必要的方式,可以极大提高用户的体验和减少系统的压力。(1)站点查询通过站定可以得到经过此站点的所有车次和其详细信息。 (2)车次查询输入相应的车次信息,可以获得该车次的详细信息。(3)换乘查询可以查询直达车、一次换乘车和二次换乘车。一

26、个良好的城市内部交通,最多只要经过两次换乘就可以从一个地点到达另一个地点,所以能够实现两次换成就可以了。本系统便实现到了二次换乘。3.1.2 OD管理公交出行空间分布的客流OD 矩阵是城市公共交通线网布设和优化的基本依据。传统公交 OD 调查方法是在乘客上车时发放调查表格,按照自己的出行起终点如实填写表格, 然后在下车时回收表格。这在实际操作时有些困难, 因此本系统采用网上调查的方式进行OD调查,是的OD调查更急便捷。3.1.3 功能用例3.2性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,城市公交查询系统应该满足以下的性能需求:3.2.1 系统处理的准确性和及时性系统处理的准确性

27、和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于公交查询系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票数量和时间又影响企业的决策活动,其准确性很大程度上决定了公交查询系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。3.2.2 系统的开放性和系统的可扩充性公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的

28、开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.2.3 系统的易用性和易维护性公交查询系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。公交查询系统中涉及到的数据是公交公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢

29、复等工作。3.2.4 系统的响应速度公交查询系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。4 系统设计4.1 系统框架设计在B/S这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构,大多数或主要的业务逻辑都存在在服务器端,因此,B/S结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客

30、户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 B/S结构系统的产生为系统面对无限未知用户提供了可能。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。系统在实施过程中,表现层使用Struts,负责页面数据提取,页面动作相应;业务层使用Spr

31、ing,主要负责业务逻辑的对象创建,表示层的Action的创建,以及持久层的DAO的创建;Hibernate负责把内存中的数据对象保存到数据库中,完成数据持久化的重任。由于SSH框架是采用J2EE平台技术封装出来的可复用的软件开发框架,主要的目的是提高软件的可扩展性、可维护性和复用性,并能提高软件的开发效率。4.2 系统功能图该图清楚的表现了系统所能够实现的功能,如图4-2所示。本人在本系统中涉及了查询功能和OD管理两个功能模块。公交查询系统用户管理注册和登录修改个人密码收藏管理关注管理发表留言查看留言删除留言留言管理站点查询查询管理车次查询换乘查询OD管理用户OD调查后台OD生成车次管理线路

32、管理车次管理邮件通知公告管理发布公告修改公告图4-1系统功能图4.3 数据库的设计4.3.1 概念模型设计概念模型是对信息世界建模,所以概念模型应该能够方便、准确的表示出信息世界中的常用概念。概念模型的使用方法很多,其中最为著名的是P.P.S.Chen于1976年提出的实体-联系方法,该方法用E-R图来描述现实世界的概念模型。通过对本文涉及的查询功能和OD管理这两大模块的需求分析,现列出了该系统的局部E-R图和各个实体图(车次实体、站点实体等)。图4-2数据库schema站点名称附近地区站点编号站点、图4-3 站点实体频率夏季发车时间票价夏季停车时间车次冬季发车时间车次编号冬季停车时间图4-4

33、 车次实体昵称密码用户邮箱用户图4-5 用户实体密码管理员编号管理员图4-6 管理员实体用户邮箱关注车次编号图4-7 关注实体用户邮箱终点站编号起始站编号收藏图4-8 收藏实体公告编号管理员编号发布时间公告内容公告主题公告图4-9 公告实体动态编号发布时间留言动态内容用户邮箱图4-10 即时动态实体4.3.2 逻辑结构设计 (1)关系模式站点(站点编号,站点名称,附近地区)车次(车次编号,夏季发车时间,夏季停车时间,冬季发车时间,冬季停车时间,区间,发车时间间隔,票价)车次-站点(车次编号,站点编号,站点顺序)用户(用户邮箱,昵称,密码)管理员(管理员编号,密码)关注(用户邮箱,车次编号)收藏

34、(用户邮箱,起始站编号,终点站编号)公告表(公告编号,公告主题,公告内容,发布时间,管理员编号)留言表(留言编号,用户邮箱,留言内容,发布时间)OD(车次编号,用户邮箱,起始站编号,终点站编号,频率)(2)关系模式的实现表4-1 站点表(stop)字段名字段中文名数据类型长度可否为空id站点编号int10name站点名称varchar20near附近地区varchar100YES4-2 车次表(line)字段名字段中文名数据类型长度可否为空id车次编号varchar10sstime夏季发车时间datetimesetime夏季停车时间datetimewstime冬季发车时间datetimewet

35、ime冬季停车时间datetime region区间varchar50fre发车时间间隔varchar 2price票价double表4-3 车次-站点表(line_stop)字段名字段中文名数据类型长度可否为空line_id车次编号varchar10stop_id站点编号int10seq此线站点次序int表4-4 用户表(user)字段名字段中文名数据类型长度可否为空email用户邮箱varrchar50nickname昵称varchar50password密码varchar50表4-5 公告表(notice)字段名字段中文数据类型长度可否为空id公告编号int10theme公告主题varc

36、har50context公告内容nvarchar500date发布时间datetimejobnu管理员编号varchar50表4-6 收藏表(collection)字段名字段中文名数据类型长度可否为空email用户邮箱varchar50Ostop_id起始站编号int10Dstop_id终点站编号int10表4-7 留言动态表(activity_feed)字段名字段中文名数据类型长度可否为空id留言编号int10email用户邮箱varchar50context留言内容varchar500date发布时间date4表4-8 OD表(od_survey)字段名字段中文名数据类型长度可否为空lin

37、e_id车次编号varchar10email用户邮箱varchar50ostop_id起始站编号int10dstop_id终点站编号int10fre月乘车次数int10表4-9 关注表(attention)字段名字段中文名数据类型长度可否为空email用户邮箱varchar50line_id车次编号varchar50表4-10 管理员表(admin)字段名字段中文名数据类型长度可否为空Jobnu管理员编号varchar10password密码varchar505 系统的详细设计与实现这一阶段的根本目标是确定怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描

38、述,从而把这个描述用程序实现出来。下面对本文实现的两个模块进行详细设计与实现。5.1 查询功能的设计与实现查询功能块分为车次查询、站点查询和换乘查询。其中换乘查询包括直达车查询、一次换乘查询和二次换乘查询,可实现模糊查询和关联点查询。首页index.jsp即为查询页。5.1.1 车次查询的设计与实现用户进入首页后,选择“车次查询”标签。输入相应的车次信息如“001”路公交车,即可输入“001”即可查询001路公交车的详细信息。车次查询界面如图5-1所示:图5-1车次查询界面001路公交车查询成功时如图5-2所示:图5-2车次查询成功界面009路公交车查询失败时如图5-3所示:图5-3车次查询失

39、败界面车次查询的流程图:开始显示结果查询车 次输入要查询车次结束 N Y实现车次查询功能的主要是从line表获得车次的信息和从line_stop表中获得其关联站点的信息,及站点在此车次的中的次序信息。String hql=from LineStop ls Where ls.line.id = +id+ order by ls.seq;List lineStopList = (List) baseDao.query(hql);return lineStopList; 5.1.2 站点查询的设计与实现选择“站点查询”标签输入想要查询的站点信息即可。站点查询界面如图5-4所示:图5-4站点查询界面B

40、站点查询成功的如图5-5所示:图5-5站点查询成功界面Z站点查询失败如图5-6所示:图5-6站点查询失败界面站点查询流程图:结束开始显示结果查询站点输入要查询站点 N Y实现站点查询功能的主要是从line_stop表中根据站点信息获得车次的信息,再遍历所有的车次信息从line_stop表中获得其关联站点的信息,便可得到经过目标站点的所有车次的详细信息。代码如下: String hql=from LineStop ls Where ls.stop.name like %+name+%;List lineStopList = (List) baseDao.query(hql);return lin

41、eStopList;String hql=from LineStop ls Where ls.line.id = +id+ order by ls.seq;List lineStopList = (List) baseDao.query(hql);return lineStopList;llls = new ArrayListList();/遍历得到站点的得到车次的名称for(LineStop lineStop :lls)llls.add(lineStopService.getStopByLineId(lineStop.getLine().getId();5.1.3 换乘查询的设计与实现在首页

42、选择“换乘查询”标签输入想要查询的起始站点和目的站点的信息即可。换乘查询界面如图5-7所示:图5-7站点查询成功界面如查询B站点 到K站点的路线信息结果如图5-8所示:图5-8换乘查询成功界面换乘查询流程图:结束开始显示结果查询路线输入要起始站点 N Y换成查询包括直达车查询、一次换乘和二次换乘并包含模糊查询,以及如何选出最短路径。具体实现如下: 直达线路可以根据两个站点名获取两个站点各自的id,这里定义为sid,eid。分别求出经过两个站点的车次的集合,这两个集合的交集就是直达路线的集合列表。代码如下:String hql = SELECT lsA FROM LineStop lsA,LineStop lsB WHERE lsA.stop.id = +sid+ and lsB.stop.id = +eid+ and lsA.line.id = lsB.line.id; 一次换乘首先可以根据两个站点名获取两个站点各自的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号