1、太原大学毕业论文摘要如今计算机网络发展非常迅速,时间的重要性对于人们来说不言而喻,人们出行越来越注重时间的节约,城市公交已经成为出行的一种主要的方式,本文结合公交运行的实际来对公交查询系统进行可行性研究,通过详实的问题定义与需求分析并且进行了合理的设计,提出了在B/S模式下的三层体系结构,应用了当前最流行的MyEclispe开发环境,用当今主流的网站开发技术jsp语言进行开发,后台采用了以目前最稳定的MySQL数据库为开发平台。目前,该信息系统已经完成了模块的需求分析、数据库设计以及应用程序设计的工作,并且主要模块运行有效、稳定。该系统可以帮助查询人员找到能最快到达目的地,并且节约费用。通过浏
2、览器查询和计算机网络全面联网,实现中心控制、自动更新、更多的查询方式。从这方面来说,此系统具有美好的应用前景。关键词:公交查询系统,MySQL,JSPAbstract Now computer network development very quickly, the importance of time for people to self-evident, people pay more and more attention to the travel time saving, city bus travel has become one of the main way, combinin
3、g with the actual operation of the bus to query information system of public transport for feasibility research, through detailed problem definition and demand analysis and the reasonable design, put forward the B/S model with three layers of the system structure, the application of the most popular
4、 MyEclispe development environment, the background to the most stable MySQL database for development platform. At present, the information system has completed the module of requirement analysis, database design and application design work, and the main module effective and stable operation. The sys
5、tem can help people find to query the soonest destination. It also can save the cost. Through the browser queries and the computer network comprehensive network for center control, automatic updates, more inquires the way, and the GIS system interconnected and so on more powerful function. In this r
6、egard, the system has a good application prospect.Keywords: Bus Search System, MySQL, JSP前言我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,我国公交乘客信息系统的现状特点如下:(1) 我国乘客一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式。乘客可以获得的公交信息较少。(2) 基本上没有实时信息。除了几个少数城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。由上所述,我国公交乘客信息系
7、统总体上处于较低水平。较低的发展水平既是发展的困难,也是发展的机遇。我们应将发展公交乘客信息系统作为一个提高公交效率,增强公交吸引力的重要手段。这里指的公交查询系统就是网络上的公交查询网站,它的出现解决了现代公交乘客信息系统中的很多不足的地方,它的主要优势体现在省时、经济、准确,这三个方面。从省时这个角度讲,根据公交查询系统人们可以选择从出发地到目的地的所有乘坐路线,在所有的的乘车路线中按自己的路线选择。可以选择直达的,这样节省的是车上时间。车下时间的节省更是很明显的,不用再在路边或者打电话询问熟人了,由于现代网络的普及使得普通公民上网的时间和机会越来越多,所以人们可以很容易的从公交查询网站捕
8、获到自己需要的信息,这节省的是车下时间。经济这方面也得到很好的体现,由于现代公交乘客信息系统存在的消息捕获得不到保证,在这个时间就是金钱的时代人们可不愿意乘错车而错失自己的金钱。准确性是整个公交系统中的一个重点也是人们最希望得到保证的,公交查询系统根据公交线路的调整及时更新数据库使得人们不必为自己的错误记忆或是不熟悉线路而付出时间和金钱的代价,目的才是最终想要的,所以准确性才是最重要的。目录前言5第一章系统概述81.1开发背景81.2选题的意义81.3系统简介81.3.1 系统功能92.3.2 系统运行环境91.3.3 系统开发工具91.4现状与前景9第二章JSP语言与开发环境介绍102.1
9、JSP语言简介112.2 JSP技术优势122.3 MySQL语言介绍132.4 MyEclispse开发环境简介142.5 Tomcat运行环境简介15第三章公交查询系统详细设计173.1 需求分析173.1.1 系统运行环境需求分析173.1.2 功能需求分析173.2 系统功能模块划分173.2.1 系统总体结构设计173.2.2 系统功能结构设计193.2.3 用户权限的界定203.3系统数据库设计213.3.1 概念模型设计213.3.2 数据表的设计及功能223.3.3 详细数据库结构设计223.4线路管理的功能实现253.4.1 添加线路253.4.2 更新线路213.5查询模块
10、的功能实现273.5.1 站点换乘213.5.2 站点查询213.5.3 用户留言22参考文献32致 谢33附 录34第一章 系统概述1.1 开发背景随着,国民经济的进一步增长,中国的城市化步伐越来越快。大都市、大城市、小城镇,不断的涌现,大量的农村户口涌入城市,进一步加剧了城市的扩大化。现在,在任一城市,虽有大量的出租车可乘,但公交车仍是大多然民众的首选。当公交线路较少时,乘客很容易找到一条可选线路,但当公交线路、公交站点较多时,找一条可选的经济的乘车路线就不是一件容易的事。1.2 选题的意义当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境
11、。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了更好管理门诊信息信息而设计的。 本系统,仅侧重于智能查询的实现,以作为一毕设计之用,提高软件工程的实践能力。1.3 系统简介1.3.1 系统功能1. 用户注册,登录,分类查询;2管理员对公交线路管理。1.3.2 系统运行环境该系统采用Browser/Server模式进行设计: 在服务器上运行Web发布服务器、数据库程序,操作系统为Wind
12、ows2000/XP/2003 server,其上运行浏览器程序,服务器和客户机可为同一设备。1.3.3 系统开发工具该系统采用JDK Java环境进行开发,数据库服务器为MySQL,WEB发布服务器为Tomcat Server;客户端使用浏览器运行程序,整个系统调试成功。1.4 现状与前景 公交查询系统现状分析:鉴于中国目前的经济发展状况,中国人出行还是以公交车为主,所以每个城市的公交系统都比较庞大发达。目前的公交查询系统,基本上具备一下功能:采用站点换乘查询、线路查询、站点查询三种查询形式,不仅能够查询到线路的起停站点,同时还能够分析出换乘车辆情况。公交查询系统的发展前景:未来的公交查询系
13、统,将是基于B/S架构,通过浏览器查询,通过计算机网络全面联网,实现中心控制、自动更新、更多的查询方式等更多更强大的功能。第二章 JSP语言与开发环境介绍2.1 JSP语言简介JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服
14、务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 JSP是基于Java Servlet以及整个Java体系的Web开发技术。在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执
15、行结果以HTML格式返回给客户。【9】所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求很低。如图1所示,在用户连接JSP网站时,用户请求网页,JSP页面独自响应请求,将用户对网页的请求转化为对数据的请求,通过Java处理请求并将返回的数据封装成HTML页面返回给用户。2.2 JSP技术优势利用JSP编写的程序有许多优势:1程序写一次,到处可以运行:JSP在设计时,充分考虑到应用平台的无关性。依赖于Java的可移植性,JSP得到目前许多流行OS平台的支持,可在Apache、Netscape、IIS等服务器上执行。2执行速度快:JSP页面只需编译一次转化为Jav
16、a字节代码,其后一直驻留于服务器内存中,加快了对JSP页面的响应速度。若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快的多。3Java的优势:JSP技术是用Java语言作为脚本语言的。跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。在Windows系统被怀疑可能会崩溃时,Java能有效地防止系统崩溃。Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。加之,JSP为应用程序提供了更为健壮的意外事件处理机制更大的发挥了Java的优势。2.3 MySQL语言介绍MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理
17、统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任。MySQL具有以下优点:1首先是速度。对于MySQL来说,速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器。但是在最新的文档中,我们看到MySQL 4.0.2-alpha已经开始支持事务,而且在MySQL的TODO中,对触发器、约束这样的注定会降低速度的功能也列入了日程。但是,仍然有理由相信,MySQL将有可能一直保持速度的优势。【4】2MySQL更流行,流行对于一个
18、商业软件来说,也是一个很重要的指标,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料。3MySQL更适宜在Windows环境下运行。MySQL作为一个本地的Windows应用程序运行(在NT/Win2000/WinXP下,是一个服务), 在Windows运行中,MySQL更加的稳定。4MySQL使用了线程,在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。5MySQL可以适应24/7运行。在绝大多数情况下,你不需要为MySQL运行任何清除程序。6MySQL在权限系统上更为完善。MySQL允许你定义一整套的不同的数据级、
19、表级和列级的权限。对于列级的权限。MySQL还允许你指定基于主机的权限。7由于MySQL 4.0.2-alpha开始支持事务的概念,因此事务对于MySQL不再仅仅成为劣势。相反,因为MySQL保留无事务的表类型。这就为用户提供了更多的选择。 2.4 MyEclispse开发环境简介在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。 JSP 为创建高度动态的 Web 应用提供了一个独特的开发环境。按照 Sun 的说法, JSP 能够适应市场上包括 Apache WebServer,IIS4.0 在内的 85% 的服务器产品
20、。MyEclipse 这样功能完整且成熟的开发环境,是由蓝色巨人IBM 所释出。IBM 花了4 千万美金开发这个IDE(Integrated Development Environment)。第一版1.0 在2001 年11 月释出,随后逐渐受到欢迎。MyEclipse已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在IBM手中,但是有一部份由eclipse.org的软件联盟主导。【10】2.5 Tomcat运行环境简介要编写JSP的程序,至少需要具备以下3个条件。1一台和网络相连的PC机或者工作站,从而可以下载必需的软件2在计算机上安装java,并进行环
21、境变量的设置。3在计算机上安装JSP引擎,比如Tomcat。这些都可以去官方网站下载。安装和配置jdk可以到 xp,则用鼠标右键单击”我的电脑”,选择”属性高级环境变量”。如图2-1所示:图 2-1 系统属性设置环境变量如图2-2所示:图2-2 环境变量在“系统变量”下面的”新建”按钮,依次建”classpath”,”java_home”,以及”path”环境变量。其内容如下所示:java_home=c:j2sdk1.4.2_10classpath=.;c:j2sdk1.4.2_10libtools.jar;c:j2sdk1.4.2_10libdt.jar;c:j2sdk1.4.2_10jre
22、libpath=c:j2sdk1.4.2_10bin完成以上设置后,可以新打开一个DOS窗口,分别键入java和javac测试一下,如果一切正常,就表明JDK安装成功,从而可以进行下面的工作了。图2-3 测试jdk安装成功Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。 Tomcat 最新
23、版本是4.0x。4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从http:/jakarta.apache.org上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。 在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转
24、化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。 Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置
25、文件即可。 Tomcat的下载地址为Java的官方网站http:/jakarta.apache.org 下载完了后安装,设置Tomcat的默认端口,系统自动默认为”8080”,其它设置选项可以根据Tomcat的帮助文档来设置。安装Tomcat后,需要按照JDK的方法创建系统变量。在变量名中输入”TOMCAT_HOME”,在变量中输入”C:tomcat”,然后单击确定,配置完毕后,需要重新启动计算机后,环境变量才能生效。如果一切操作正确的话,在浏览器地址栏输入http:/localhost:8080/,可以得到如下图所示运行结果:图 2-4 TOMCAT安装测试第三章 公交查询系统详细设计3.1
26、 需求分析3.1.1 系统运行环境需求分析操作系统:Win2000/XP/2003。软件配置:系统必须安装有JDK,TOMCAT,MySQL数据库。数据库配置:MySQL在PC机中新建数据库,建立各个数据表。3.1.2 功能需求分析系统的主要开发包括,客户端应用程序主要是指前台的开发和后台控制。服务器端数据库的初始化,数据表,关系图的建立,删除。1.站点换乘查询只要在我们设计的首页中相应的地方输入起站点和要到达的目的地站点,点击“查询”按钮,就可以查到你要到达目的地的乘车方式,这里的乘车方式可以是直达线路,或换乘一次或两次的路线。2.后台管理这个后台管理系统体现了人性化的设计。可以根据公交实际
27、的线路的增添、线路的修改进行改进。只要在管理员登陆后,就可以增加线路、修改线路、删除线路、等来完成与实际相符合的路线。这一功能更加的体现了公交线路的灵活性。3.2 系统功能模块划分3.2.1 系统总体结构设计公交查询系统主要分为两个模块:前台线路查询模块,后台数据管理模块。如图3-1所示:用户公交查询系统前台线路查询模块数据后台管理模块整个系统数据库图3-1 系统总体结构设计图系统可以分为三层:显示层,业务逻辑层,数据访问层。项目结构如图3-2所示:图3-2 项目结构图3.2.2 系统功能结构设计公交查询子系统是这个系统的一个重要的模块,它快捷、方便、准确的提供了乘客所需要的乘车路线。一、查询
28、模块1输入出发站点和目标站点,进入系统服务类根据给定的条件进行查找,查找的具体步骤为:(1)先用sql语句查询同时含有起点和终点的线路,是直达线路。(2)如果列表为空,说明没有直达线路。(3)用第二个sql语句查询起点和终点的中转站点,根据中转站点查询出换乘一次可以到达的情况。(4)如果上面的sql语句返回空集,即没有中转站点,换乘一次不能到达终点,就查询换乘两次的情况(5)写查询语句找出可以换乘的车次,并得到中转的站点,就得到换乘两次的实现路线。(6)最后返回一个包含所有能够从出发站点出发,并且能够到达目标站点的所有的换车次数不超过2次的乘车路线。查询模块图如图3-3所示:查询模块站点查询线
29、路浏览站点浏览线路查询用户留言站点换乘图3-3 查询模块图二后台管理模块后台管理模块是很重要的一个模块,为了防止普通用户随意修改路线,我们使用用户权限界定,只有管理员可以进入,进行整个系统数据的修改工作。后台管理模块1添加线路:添加一条新的线路。2修改线路:更新线路信息。3删除线路:对线路必要的删除操作。后台管理模块添加路线修改路线删除路线登陆模块返回操作注册模块图3-4 后台管理模块图3.2.3 系统用户权限的界定为保证系统数据的安全性,防止非法访问数据和出现数据丢失、数据随意改变现象,需要对数据库实施保护。主要保护措施是:防止非法访问,对使用权限做出划分,不同身份的人员进入系统后操作的权限
30、进行界定;防止故障的产生必定进行定期的备份。具体说明如下:在用户管理与权限设置方面,根据系统的实际情况和从简化系统出发,对于前台所有乘客都是开放的,但后台数据库做严格的权限控制,只能管理员才能进入。使用整个系统的人员,可以划分为两类:1管理员:管理员对系统拥有最高权限,可以对后台控制模块进行操作,可以控制整个系统的所有数据的增,删,改操作,这一角色由系统设计人员直接设定。2普通用户: 普通用户,权限低,在公交查询系统他可以进行所有的线路查询的权利,但是没有增加和修改路线的权限。3.3 系统数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效
31、地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库和设计概述:(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。(3)数据库设计是信息系统开发和建设的重要组成部分。【2】3.3.1 概念模型设计(E-R图)数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。 E-R模型的基本概
32、念 ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间。(1)实体:现实世界中的事物;(2)属性:事物的特性;(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。【4】本系统的ER图: 图3-5 E/R图的表示3.3.2 数据表的设计及功能根据以上这些步骤就可以创建一个数据库,依次建立下列表结构:1 用户基本信息表2 用户类别表3 公交车基本信息表4 公交车类别表5 站点基本
33、信息表6 公交车站点关联表7 用户留言表3.3.3 详细数据库结构设计1用户基本信息表用户基本信息表中存放的是用户登陆时所需要或者记录用户的基本信息,包含比如登陆名,密码等。用户基本信息表的建立主要是记录用户最常用的一些信息。表3.1 t_user字段名数据类型长度主键外键可空说明idint14是否否代理主键emailVarchar50否否否电子邮件usernameVarchar30否否否用户名passwordVarchar30否否否密码repasswordvarchar30否否否重复密码user_typevarchar30否是否用户类别2用户类别表用户类别分为两类:管理员和普通用户。表3.2
34、 t_user_type字段数据类长度主键外键可空说明user_type_noInt20是否否类别编号user_type_namevarchar20否否否类别名称3. 公交车基本信息表公交车基本信息表存放的是公交线路的基本信息,包括始发站、终点站、首班车、末班车、票价、所经站点等信息。表3.3 t_bus字段名数据类型长度主键外键可空说明idint14是否否代理主键bus_noint3否否否线路编号bus_namevarchar20否否否线路名称bus_typevarchar30否是否线路类别first_stationvarchar50否否否始发站last_stationvarchar50否否
35、否终点站first_busvarchar50否否否首班车last_busvarchar50否否否末班车carfarevarchar50否否否全票adult_card_farevarchar50否否否成人卡价格student_card_farevarchar50否否否学生卡价格stationsvarchar100否否否所经站点stations_numint2否否是站点数目update_timedate10否否是更新时间4公交车类别表公交车分为:市区线路,市郊线路,城际线路,村村通,机场巴士。表3.4 t_bus_type字段名数据类型长度主键外键可空说明bus_type_noint1是否否代理主
36、键bus_type_namevarchar30否否否线路类型名称5站点基本信息表站点基本信息包括站点编号,站点名称。表3.5 t_stop字段名数据类型长度主键外键可空说明stop_noint4是否否站点编号stop_namevarchar30否否否站点名称6公交车站点关联表该表存放每条公交线路对应的所有站点的编号和名称信息。表3.6 t_bus_stops字段名数据类型长度主键外键可空说明bus_noint3是是否线路编号stop_noint4是是否站点编号stop_namevarchar30否是否站点名称7用户留言表存放用户留言的内容及用户的id信息。表3.7 t_comment字段名数据
37、类型长度主键外键可空说明idint14是否否代理主键titlevarchar255否否否留言标题contenttext-否否否留言内容timedatetime10否否是发表留言时间account_idint14否是否用户id3.4 线路管理的功能实现管理更新功能是针对系统维护而设计的。随着城市现代化的发展,公路部分线路也会有相应的变化。为使本系统能跟上发展,与现实保持同步,管理更新功能也是举足轻重的。其中包括站点管理和线路管理。在数据库中每路公交车都有其相应的公交线路。当现实中的某个因素改变时,数据库中的记录也要有相应同步的变化。线路管理就是对线路信息进行相应的更新。输入相应的线路编号,线路名
38、称和类型后保存数据到数据库当中。3.4.1 添加线路输入要添加的新线路的所有信息,点击提交,添加线路完成。图3-6 添加线路3.4.2 更新线路将要更改的信息更新,点击提交,则更新完成。图3-7 更新线路3.5 查询模块的功能实现公交查询模块是用户与系统进行交互的直接媒介。除了要完成用户的请求外,更需要从用户的角度出发,以人为本。设计出人性化的交互页面。查询模块主要有文本框和提交按钮组合而成。从实际出发对于公交查询系统而言,用户输入始发站,终点站后提交请求,后台数据库查询系统为系统列出符合条件的公交班次。当然,用户还可以选择第二种查询方式:选择要查询的线路,提交后用户自动列出该路公交车所路经的
39、站点。3.5.1 站点换乘功能1. 直达线路 输入起点和终点后,通过sql语句查询出同时含有起始站点和终点名称的线路。2需要换乘一次的查询先通过一个sql语句查询出中转站点。然后查询出从起点到中转站点的线路,和从中转站点到终点的线路,就得到了换乘一次的换乘方式。查询中转站点的sql语句:select stop_name,stop_no from t_stop where stop_no in(select A.stop_no from (select distinct stop_no from t_bus_stops where bus_no in (select bus_no from t_
40、bus_stops where stop_no in (select stop_no as id1 from t_stop where stop_name=鹅归店) A, (select distinct stop_no from t_bus_stops where bus_no in (select bus_no from t_bus_stops where stop_no in (select stop_no as id2 from t_stop where stop_name=旱西门) B where A.stop_no = B.stop_no);如输入从鹅归店到旱西门:图3-8 换乘一
41、次的线路查询查询结果先列出要乘坐的所有线路的信息,然后提供具体的站点换乘方案,如下图:图3-9 换乘一次的查询结果3需要换乘两次的查询有的起点和终点之间没有中转站点,也就是换乘一次不能到达,只有换乘两次。分别找到起点和终点所在线路:select bus_no from t_bus_stops where stop_no=(select stop_no as id1 from t_stop where stop_name=鹅归店);依次循环该线路其他站点编号,找出包含其他站点的所有线路:select distinct stop_no from t_bus_stops where bus_no i
42、n(select bus_no from t_bus_stops where stop_no= (select stop_no as id1 from t_stop where stop_name=鹅归店); 如鹅归店到苹果苑,需要换乘两次:图3-10 换乘两次的线路查询查询结果:图3-11 换乘两次的查询结果3.5.2 站点查询功能输入某个站点,从线路站点关联表中查询出包含该站点的所有线路。如:含有大南门站点的线路有1路,2路,9路,及线路的具体信息。图3-12 站点查询3.5.3 用户留言功能用户登录后对网站可以提建议,输入信息标题和信息内容,点击发送,就会在上面的表格中显示出留言用户的用
43、户名,留言时间,和留言内容等。图3-13 用户留言结论随着五月的到来,毕业设计也接近尾声,对毕业设计也该做一个总结了。整个毕业设计从拿到题目到完成设计总共经历了大致下面几个阶段。首先分析了现代公交信息系统的现状,重点目的在于指出它的缺点,然后分析人们出行的需求心理,从而抛出公交查询系统出现的优越性,这样得出开发整个系统的背景。接下来就是做需求分析,硬件和软件环境的需求是首要解决的问题,如JSP环境、据库MySQL这些环境的配置,通过上网查阅解决。在我设计的过程中存在许多不足,总是在设计中不断的发现错误,在设计的过程中不断发现可以用更好的方法解决原来解决了的问题,原来的分析总是存在不足,很多时间
44、都在不断的调整程序以进一步完善详细设计是一个漫长和不断成长的过程,它让我知道什么才是一步一个脚印,需要查阅大量资料,网络是一个重要的地方。详细设计让我懂得什么叫耐心,什么叫不断完善,什么叫计划,什么叫不放弃。自学在整个设计中显得尤为重要,需要花费很多时间,查询很多书籍来了解和熟悉JSP语言的使用。由于时间有限,我只是编写了几个比较常用的servlet,这样可以节省重复代码的编写。整个设计中接触到用到的知识很多,从java语言的知识,它是JSP和Javascript的基础,在设计中javascript语言也用到的比较多。数据库的操作中主要有查询和建立数据表。整个设计都在Myeclipse这个工具中进行。设计中还或多或少的用到了一些其它方面的知识,有些是在以前的学习过程中接触过,有很多是自己在设计中边学习边使用。做毕业设计是一个成长的过程,不管是知识方面还是其它方面,我要感谢毕业设计让我学到了很多东西。参考文献1 王克宏、郝建文. Java技术教程 M . 北京:清华大学出版社.2002年.2 萨师煊、王珊. 数据库系统概论(第三版) M. 北京:高等教育出版社.2005年.3 周竞涛、赵寒. MyEclipse完全手册 M.