基于JSP航空订票系统的设计与实现.docx
- 文档编号:10590030
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:28
- 大小:3.44MB
基于JSP航空订票系统的设计与实现.docx
《基于JSP航空订票系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP航空订票系统的设计与实现.docx(28页珍藏版)》请在冰豆网上搜索。
基于JSP航空订票系统的设计与实现
毕业设计(论文)
基于JSP航空订票系统的设计与实现
系别:
计算机科学与技术系
专业(班级):
\
作者(学号):
\
指导教师:
\
完成日期:
\
基于JSP航空订票系统的设计与实现
摘要:
把网络订票系统应用在航空领域,不仅能够方便广大乘客的出行,还能够给航空工作人员带来工作便利,提高工作的效率,节省人力资源。
本系统是基于B/S架构的动态的网上订票的服务网站。
在设计过程中主要使用的开发工具是MyEclipse,SQLserver2008作为后台数据库,Tomcat作为服务器,采用JSP(JavaServerPages)和Web技术作为开发手段。
该系统分为前台管理和后台管理两个部分,前台包括用户注册,航班、航线和机票价格的查询,还包括了订票,修改订票信息以及个人信息;后台主要是航空公司工作人员对航班信息、订票单信息、通知信息、链接信息的管理。
关键词:
JSP;SQLserver2008;订票;管理系统;信息
DesignandImplementationof Airline BookingManagementInformationSystemBasedonJSP
Abstract:
Thenetworkreservationsystemapplicationinthefieldofaviation,cannotonlyfacilitatethemajorityofpassengerstravel,butalsobringconveniencetotheairlinestaffforworking,toimproveworkefficiencyandsavehumanresource.ThissystemisbasedonB/Sarchitectureofdynamiconlinebookingservice.InthedesigningprocessthemainuseofdevelopmenttoolsisMyEclipse,puttingSQLserver2008asthebackstagedatabase,puttingTomcatastheserver,usingJSP(JavaserverPages)andWebtechnologyasameansofdevelopment.Thesystemisdividedintotwoparts.Oneisforegroundandanotherisbackgroundmanagement.Frontpartincludeduserregistration,flights,routesandticketpricequery,booking,modifythebookinginformationandpersonalinformation;backgroundhadmainlytheairlinestafftotheflightinformation,bookingsheetinformation,notifications,andlinkstoinformationmanagement.
Keyword:
JSP;SQLServer2008;Ticket;ManagementSystems;Information
基于JSP航空订票系统的设计与实现
1概述
1.1项目简介
网上订票是可以代替人工订票的一种新型的订票方式,它不仅能够方便广大乘客的出行,还能够给客运工作人员带来工作便利,提高工作的效率,节省人力资源等;更能够缓解订票高峰时期的客运压力。
本系统是基于JSP开发工具和SQLserver2008数据库在Web上共同实现的一个航空订票系统,用户可以通过登录该订票网站,实现对航空航班的班次查询以及机票的预订、退订等各个自主性的操作[1]。
1.1.1项目开发的目的
自因特网的快速发展以来,人类也越来越离不开对网上信息的需求,因此航空订票系统的发展趋势就是完全自动化的智能的信息查询,然而随着计算机和因特网的普及,人们对信息的处理也越来越多,越来越复杂,可是传统的人工售票方式过程复杂,执行的效率低,所以为了改善人工售票方式的不足,开发一个更便捷的航空订票系统——网上航空订票系统[2]。
1.1.2项目开发的意义
在如今的网络经济时代,各式各样的订票方式受到Web的影响越来越大,航空部门的订票方式也是如此,以前传统手工的航空售票,航班查询和决策的工作是一项很繁琐而复杂的管理过程,执行效率低,并且容易出错,然而在当今信息如此发达的时代,使用电脑软件进行信息的查询,利用Internet使信息共享,那么乘客就可以在任何地方查询任何他想要用的信息[3]。
该系统是基于JSP+Web技术设计的一个集成独立开发的航空订票系统,在不同的计算机平台上都能运行,它突破在具体的平台(操作系统,编程语言,应用服务器等)上的限制性,使用了比较统一灵活的数据格式,面相构造方法和Web技术的优势相结合,改变了现有的网上订票系统存在的灵活性差,可扩展性等一些问题[4]。
该航空订票系统软件,能够帮助乘客利用联网的计算机快速的查询航空信息。
此订票软件集成了航班的所有信息,如:
航班的基本数据、航班管理、航班查询和订票管理等,目的是能够使更加方便使乘客对航班信息的查询与其他操作,同时也让航空管理人员方便快捷的对航班时刻信息的更新与管理[5]。
1.1.3同类软件国内外的现状
如今,订票系统在国内外已经到了广泛的应用,不管是商业订票,还是客运订票[6]。
对于客运,无论是坐汽车,火车,还是飞机,都是经过订票系统进行相应的订票。
国外订票系统的开发和应用起步比国内早,而且国外的通信比国内发达。
例如,早在二十世纪七十年代的欧美等西方发达国家早就使用计算机进行订票了[7]。
据1995年5月27日的《今日电子》报道,美国的南旧金山Documents联合公司宣布,他们开发的结果传递系统装载到一个电子数据系统公司控制的全国范围的私人网络[8]。
此产品最具代表性的应用就是迅速地将飞机票从旅行社传递到他们所有的主顾,为顾客带来了极大的方便,也就是最初的网上订票[9]。
由于近代的一些历史原因,在二十世纪九十年代以前,中国在这方面的发展比较落后与欧美等西方国家[10]。
但是,在改革开放以后,我国的市场经济体制、管理体制、方法和手段的日趋成熟,因此我国的交通运输业得到了快速的发展。
此时,各个交通运输业部门的竞争日益激烈,为了提高运营效率和市场竞争力,在国内政策的有效引导下,交通运输部门、铁路运输业和航空运输业等开始实施了一整套新的改革,他们都相继成功研发了各自售票和订票系统[11]。
由于这次的改革,我国在此领域上的发展十分迅速,例如,在中国一大部分城市都有了飞机场,这些飞机的营业都采用了网上售票,这就使得人们的出行更加方便。
另外,与国外相比,我国是一个人口大国,会有比国外更多的人去乘坐飞机出行,所以买票就不可以停止,对航空系统的安全性,稳定性的要求要更高[12]。
可以这么说,我国的航空订票系统要具有更广的覆盖面、庞大的交易量、实时性的强大、系统的安全可靠、系统的复杂度高等特点,比任何其他国家的航空订票系统都要复杂强大的多[13]。
要开发如此强大的订票系统,其难度可想有多大,国内外专家在了解中国国情之后,都感叹这个系统如果能完美的构建,那么此订票系统堪称该类系统之最。
因此,我们的航空订票系统的构建任重而道远[14]。
2开发工具及相关技术简介
2.1JSP技术简介
JSP是由SUN公司和许多公司一起参与一起建立的一种动态技术标准,是在传统的网页HTML文件(*.htm,*html)中加入了JSP的标签和Java程序片段(Scriptlet),从而构成了JSP网页[15]。
JSP网页中的Java程序片段可以操作后台数据库、重新定向网页和发送E-mail等,以此实现了建立动态网站所需要的一些功能。
它的所有程序操作都是在服务端的服务器上执行,而网络上送给用户的仅仅是得到的结果,那么这样就会大大降低对用户的客户端浏览器的要求,不管用户的浏览器是否支持Java,都能访问JSP网页(*.jsp)。
JSP其实就是一个简化的Servlet设计,因为它可以实现Html语法中的Java扩张(以<%,%>形式)。
JSP与Servlet一样,都是在服务端的服务器上执行的。
通常在服务端执行后返回给用户端是一个Html文本,因此用户只要有浏览器就可以浏览。
Web服务器在访问JSP网页出现访问请求超时,首先会执行其中的Java程序片段,然后执行的结果会连同JSP文件中的Html代码一起返回给用户的客户端。
通常的情况下JSP页面很少去操作后台的数据,只是用来去实现网页的静态化页面和提取网页上输入的数据,不会去进行相应的业务处理。
在页面中插入Java程序段后,就可以操作数据库,重定性网页或者发送E-mail,以此来实现动态页面所需要的功能。
JSP技术就是使用Java语言去编写XML文件(*.xml)中的Tags和Scriptlets,之后去封装它所产生的动态网页的处理逻辑,还能通过Tags和Scriptlets去访问来于服务器端资源的应用逻辑。
JSP技术可以将网页的逻辑和网页的设计分离开来处理,还能支持组件的可重用性设计,使得基于Web应用程序的设计变得简单。
JSP是一种动态页面技术,它的主要功能是将表示逻辑从Servlet中分离出来。
在一个页面中由Html语言编写的代码和嵌入其中的Java程序片段构成,那么这个页面就是JSP页面。
2.2SQLServer2008简介
SQLServer2008是在微软的数据平台上发布的。
它可以管理任何数据,也可以存储结构化,非结构化以及半结构化的文档数据,同时它还可以对已存入的数据进行查询、同步、分析、修改、删除等一些操作。
我们所接触的一些数据可以存储在各种可存储数据的设备上,例如,从存储数据最大的服务器上到个人的桌面计算机和更小的移动设备上,它都可以控制数据而不需要管数据存储在什么地方。
SQLServer2008具有强大的数据管理功能,提供了丰富的管理工具去管理数据的完整性和安全性。
它具有分布式数据库和数据仓库,能够进行联机分析处理。
同时还是一个可实际运行的存储,维护和为应用系统提供安全性,完整性数据的软件系统。
SQLServer2008的优点
(1)支持WEB
SQLServer2008为WEB提供了标准的数据库扩展编程功能,丰富了以XML格式存储和检获数据的功能。
①通过WEB可以访问数据库
具有了SQLServer数据库,您就可以使用Http来向SQL数据库发送查询和对数据库里的存储文档来执行全文搜索。
②强大且灵活的基于WEB的分析
Internet里嵌入SQLServer2008分析服务功能,您就可以通过Web浏览来访问和控制数据。
(2)保护信息
SQLServer2008可以利用自身的全面审核功能,数据加密和设置外围应用配置器来提高您数据的安全性。
(3)具有高度的可伸缩性和可靠性
SQLServer2008通过具有向上伸缩和向外扩展功能,可以满足那些对数据库具有苛刻性要求的电子商务和企业。
2.3ApacheTomcat6.0简介
Tomcat服务器是由ApacheSoftwareFoundation(Apache软件基金会)中ApacheGroupJadarta开发小组开发的一个免费的开放源代码的服务器软件。
由于有了SUN公司的参与与支持,最新的Servlet和Jsp的规范都能在Tomcat中体现。
它的不足之处就是它的配置比较繁琐,而且还具有一些安全问题,但是总的来说Tomcat技术先进,稳定性和兼容性很好,而且还免费,因而受到了广大Java爱好者和大多数软件公司的支持,成为目前较为流行的WEB应用服务器软件。
2.4MyEclipse的简介
MyEclipse是企业级的工作平台。
它是对Eclipse的扩展,利用它可以在数据库和JavaEE(JavaEnterprideEdition)的开发、发布以及应用程序服务器的整合方面大大提高了工作效率,能丰富JavaEE集成开发环境,包括了完备的编码,调试、测试和发布功能。
在MyEclipse组件中,方便地提供了JSP、Servlet、HTML、XML、Struts、Hibernate、Spring等框架的开发支持,而且随着新技术的不断推出,MyEclipse也在不断的发展。
3可行性分析
3.1经济可行性
在当今社会,随着物价的飞速上涨,对于一个简单的航班查询预订网站来说,我们只需一次性投入2-4万元即可。
在网站的开始阶段主要由对网站的界面进行设计,数据库的建立,服务器的搭建,网站地址的申请等产生的费用,不需要其他的过多操作,其次就是开发期间产生的日常费用,但主要的费用是用来对后期网站和后台数据库的维护。
当然,本系统的维护人员不需太多,系统的维护过程也很简单,一两个维护人员即可。
此系统的应用,能提高航空工作人员的工作效率和减少乘客排队询问买票的时间。
另外,此订票系统具有网络开放等特性,可让乘客在任何具有网络的地方随时随地进行查票和订票,而航空的工作人员也可以随时随地的处理乘客的订票订单,这样会必然的使机票的销售量有所增加。
由于航班的班次以及出发时间较为固定,不会轻易的去被修改,而且它们的信息比较容易去查询,这样就会使网站的开发以及后期维护所需要的费用大大减少。
本系统与传统的订票方式相比,具有高效率、高质量、低成本等优点,能够节省人力、物力以及财力的消耗。
所以,本系统具有经济可行性。
3.2法律可行性
该订票系统最主要的使用者是广大的乘客、机场的售票人员以及各地区代售票人员。
对于在网上订票,我国在这方面制定了一些较为严格的法律规定,因此我们广大的乘客应该秉着诚实守信的原则,遵守这些相关的法律规定。
在该系统的设计中,所使用的部分软件涉及到了一些版权问题,如:
MyEclipse10.0,MicrosoftSQLServer2008等(这些软件都需要花费资金购买正版)。
但是如果这个系统不是用于商业,只是用于学生的毕业设计的话,那么就不会对开发公司附有法律效应。
3.3技术可行性
该系统主要是基于JSP的网上订票系统,它所涉及的主要开发软件工具是MyEclipse和MicrosoftSQLServer2008数据库,主要技术是JSP技术,JavaBean技术等。
本系统的各个操作界面只是用JSP技术实现的一些简单页面,链接数据库和对文件处理是用到了JavaBeans技术。
对于MyEclipse开发工具,它具有强大的语法提示和错误警告功能,因此放便开发者用Java和JSP去开发。
MicrosoftSQLServer2008作为一个后台数据库,它具保护客户信息、提供可预测响应、最大限度地减少管理监视、集成任何据等优点。
在本系统开发完成之后,只需要通过注册和缴费向域名管理机构申请一个域名使用权即可通过网络使用了。
本航空订票系统所涉及到的技术主要有以下几个方面:
⑴数据库技术;
⑵系统架构技术(使用B/S架构);
⑶页面开发技术,会使用Html编程语言和JSP技术;
⑷配置开发环境和服务器,在装有Windows操作系统的计算机上安装SQLServer2008数据库,搭建MyEclipse平台和配置Tomact服务器。
4需求分析
4.1系统功能需求
4.1.1航班信息浏览功能
机场的工作人员可以根据现实具体的信息来发布航班信息供用户来查询,而用户可以通过浏览器登录本系统来浏览航班信息,选择自己所想要预定的航班。
此功能提供了所有的航班信息,根据发布时间来排序,能够使用户更清楚的了解航班信息。
4.1.2航班查询功能
乘客可以根据航班飞行路线进行班次的具体查询,方便乘客进行信息的查询。
当乘客面对这些庞大的航班信息时,怎样才能使乘客获得自己想要的航班信息,这是考验系统实现功能非常关键的一点。
那么,航班查询功能就可以做到大大缩短乘客找到正确的航班信息。
4.1.3机票预订功能
乘客可以按照自己想要的路线预订机票,预订之后就会被系统自动保存到“购物车”当中。
然后,乘客就可以根据填写机票数量,选择付款方式付款即可。
4.1.4用户注册和登录功能
如果乘客想成为该网站会员,就可以通过注册功能填写一些必要的信息,然后就可以注册成为本网站的会员。
当用户成为本网站的会员时,可以通过登录功能登录本网站,就享有在本网站进行机票预订,修改个人信息和相关密码操作等。
4.1.5密码修改功能
这是提供给用户随时修改密码的功能。
也是一个网站不可缺少的功能,它是用户信息安全的保障。
4.1.6机票购物车功能
因为无法确定用户预订机票之后是否决定真正的要购买机票,这样就可以把用户预订的机票保存到“购物车”里,而用户还可以继续预订其他机票。
在“购物车”功能里,用户还可以修改之前预订的机票信息,当然还可以退票。
4.1.7后台管理功能
这个功能是由管理人员管理的,它包括了一些其他功能:
航班定制功能,安排航班日期功能,查看航班功能。
4.2数据库需求分析
4.2.1实体数据分析
实体数据必须要具有被查询、修改、保存以及删除等特性,这样就需要数据结构能够充分的满足用户各种信息的输入输出。
在对本系统完整的数据流程进行详细的分析之后,从中抽象获得了如下几个实体:
用户:
代表每个用户实体,这个用户实体包含了用户名、密码、真实姓名、性别、电话号码、电子邮件等属性。
航班:
代表每个飞机实体,由于每架飞机只能在一个时间段里执行运送乘客任务,所以把每架飞机的起飞到降落设为一次航班,这样就形成了航班实体。
航班实体主要的属性有航班号、航班日期、出发地点、目的地、票价、票数。
订单:
代表每个用户购买机票所产生的一次交易信息,其主要的属性是真实姓名和航班班次信息。
4.2.2实体关系分析
⑴用户与航班是多对多的关系。
一个用户同时可以买多张相同航班班次的机票,而一个航班班次的机票可以被多个用户购买。
⑵用户与订单之间是一对多的关系。
一个用户可以有多个订单,而一个订单只能属于一个用户。
⑶飞机与航班班次是一对多的关系。
一个飞机实行多个航班(一架飞机在不同的时间段内执行多个航班),而一个航班只能由一个飞机去实行。
⑷时间安排和航班班次是多对一的关系。
同一时间段可以安排多个航班班次,而一个航班班次只能安排在特定的时间段中。
经过对上面系统功能模块的分析,给出的数据流程图,如图4-1所示:
图4-1系统功能流程图
5总体设计
5.1数据库的设计
5.1.1数据库概念设计
用户的需求主要体现在各种信息的查询、修改、保存等,这样就需要实体数据能够充分的满足用户各种信息的输入与输出。
通过对本系统实现总体功能的步骤、内容以及数据流程的具体分析,设计出了如下数据项:
⑴航班信息的属性包括:
航班号、起飞地点、目的地点、旅程(小时)、价格(¥)、票数(张);
⑵订票信息的属性包括:
航班号、出发地点、目的地、航班日期、票价、总票数;
⑶用户信息的属性包括:
用户名、密码、真实姓名、性别、电话号码、电子邮件;
根据实体属性和实体之间的关系设计E-R图,如图5-1与5-2所示:
图5-1实体与属性E-R图
图5-2实体与实体关系E-R图
5.1.2数据库表的设计
本项目的数据库test使用了3个表。
表user为用户信息表,它用来存储用户的用户信息的,该表结构如表5-1所示:
表5-1用户信息表user的结构表
字段
类型
字段长度
是否为空
备注
Username
Nvarchar
20
否
用户名(主键)
Password
Nvarchar
16
否
密码
Name
Nvarchar
10
否
真实姓名
Sex
Nvarchar
4
否
性别
Tel
Nvarchar
16
否
电话号码
Nvarchar
30
否
电子邮件
表sch为航班信息表,它是用来存储本系统所有的航班信息,该表的结构如表5-2
所示
表5-2航班信息表sch的结构表
字段
类型
字段长度
是否为空
备注
Hao
Nvarchar
10
否
航班号(主键)
Qifei
Nvarchar
20
否
出发地点
Rqi
Nvarchar
20
否
目的地
Mudi
Date
-
是
航班日期
Jiage
Int
-
否
票价
Piaosu
Int
-
否
总票数
表din为订票表,它是用来存储用户订票的信息,该表的结构如表5-3所示:
表5-3订票信息表din的结构表
字段
类型
字段长度
是否为空
备注
Hao
Nvarchar
10
否
航班号(主键)
Qifei
Nvarchar
20
否
出发地点
Mudi
Nvarchar
20
否
目的地
Riqi
Date
-
是
航班日期
Jiage
Int
-
否
票价
Piaosu
Int
-
否
订票数
5.2系统功能模块的设计
根据之前的功能需求分析,本系统的功能模块可分为两部分:
前台模块和后台模块。
所谓前台模块就是由用户登录后的模块,可由用户自己去管理;后台模块是指管理员管理的模块,能够管理整个系统。
所以系统功能模块图如图5-3所示:
图5-3系统功能模块图
5.2.1前台管理模块的总体设计
前台管理主要是通过会员的登录,之后进行管理的,在这个模块里,可以查看本站所有航班的详细信息。
用户可以通过注册成为本网站的会员,登录之后就可享有所有会员的操作,如:
修改个人注册信息、修改密码、预定机票、查看已预定机票的信息,也可以随时返回首页或退出系统。
5.2.2后台管理模块的总体设计
后台管理模块主要是由管理员登录管理的,管理员登录后可以查看目前所有航班的信息,制定航班以及调整航班的日期。
查看航班信息:
管理员可以查看当前所有的航班信息,获得最新信息。
制定航班:
管理员可根据当前航班的信息,判断是否需要继续制定新的航班。
安排航班日期:
管理员可以根据当前反馈的航班信息,或者在某些特殊的原因下是否需要修改某航班的飞行日期。
5.3系统架构设计
本系统的当前架构是由MVC三层架构来实现的。
在创建系统工程的第一步就是要配置Web.xml文件,因为Web.xml文件会在JSP的表单提交时进行拦截,然后会在它的内部给JSP表单进行分配,去寻找与它匹配的Servlet,之后,找到的那个与它匹配的Servlet进行相应的业务处理。
Servlet在控制层,且是控制层的核心。
在控制层中的控制器本身不会进行逻辑的业务处理,而是通过调用后台其他的方法进行处理的。
那么,最后就是对后台中逻辑处理的部分,通过这一部分逻辑业务的处理,首先链接数据库,其次,去执行数据库里的查询方法或者其他的方法,最后会经执行后得到的数值返回到之前发出命令的页面里显示出来,至此就完成了几乎所有的MVC的步骤。
6详细设计
网站的首页(index.html)包含了用户的注册
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 航空 订票 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)