java 航空订票系统

上传人:QQ40****828 文档编号:442478 上传时间:2018-10-02 格式:DOC 页数:75 大小:1.73MB
返回 下载 相关 举报
java 航空订票系统_第1页
第1页 / 共75页
java 航空订票系统_第2页
第2页 / 共75页
java 航空订票系统_第3页
第3页 / 共75页
点击查看更多>>
资源描述
java 航空订票系统学 院: 2009 年 5 月 29 日毕 业 论 文(设计)用 纸山东科技大学 第 I 页摘要本航空订票系统是一个基于 Internet 的 WEB 开发, 根据现今航空业的飞速发展,为了缓解航空公司对机票管理的压力而开发的这个订票系统。论文首先阐述了本课题的研究背景和研究的意义以及现今国内外对于本课题研究概况做了简要的介绍。在系统设计阶段,对页面的设计采用了 struts 框架,结合 JSP 实现了网页的动态显示,在后台业务层的实现采用了 MVC 分层模式实现了对前台页面请求的处理。在数据库设计阶段,通过对本行业的调查的具体的规划,在此基础上进一步的抽象规划得到了整个数据表的整体框架和数据库表。并进一步的详细阐述了数据库之间的关联。在系统的测试阶段,具体介绍了测试的目的,任务和方法,并对本系统进行了详细功能的测试。结合着整个项目,本项目采用 BS 结构,使用 JSP 技术进行动态页面的设计。后台数据库选用 My SQL 数据库。从快速开发方面考虑,运用了 Hibernate 框架实现对数据库的各项操作。关键字:B/S 结构; JSP;Hibernate;JAVA;订票系统毕 业 论 文(设计)用 纸山东科技大学 第 II 页AbstractThe air booking system is a development of Internet-based WEB, in accordance with the current rapid development of the aviation industry, airlines in order to ease the pressure on the management of the development of the booking system. First the paper elaborated the research background and the significance on the subject and international profile of this issue on a brief introduction.In the system design stage, the design of the pages using the struts framework to achieve the JSP page with the dynamic display, in the background of the business to achieve a layered model of the MVC on the prospects of achieving the pages dealing with the request. In the database design stage, through the investigation of the industrys specific planning, on the basis of further planning by the abstract of the entire data table of the overall framework and database tables. And further I elaborated the link among databases. In the testing phase, the specific purpose of the test on the tasks and methods, and the system carried out a detailed functional testing.According to entire project , the system uses BS structure, while the use of JSP technology for the design of dynamic pages, installed. The database we used is My SQL . From the rapid development considerations, use Hibernate framework to achieve the operation of the database.Keywords : BS structure; JSP; Hibernate; Java; Book System毕 业 论 文(设计)用 纸山东科技大学 第 页目录摘要 .IAbstract II目录 5第 1 章 绪论 11.1 课题研究背景 11.2 课题研究意义 21.3 国内外研究现状 3第 2 章 系统分析 42.1 系统调查 52.2 系统的可行性 62.2.1 语言可行性的分析 .62.2.2 框架的可行性 .92.2.3 结构的可行性 .11第 3 章 需求分析 133.1 业务流程图 133.2 新系统逻辑模型的提出 143.3 数据字典 16第 4 章 系统设计 204.1 系统的总体设计 204.1.1 页面的设计 .204.1.2 业务层的设计 .224.2 详细设计 254.2.1 页面的设计 .254.2.2 控制层 action 包的设计 384.2.3 业务层的设计 .404.2.4 功能模块的实现 .45第 5 章 数据库的设计 48毕 业 论 文(设计)用 纸山东科技大学 第 页5.1 数据库的逻辑设计 495.2 实体数据的 E-R 图 .515.3 创建数据库 58655.4 程序流程图 665.4.1 用户登录功能的流程图 .665.4.2 订票功能流程图 .685.4.3 退票流程图 .695.4.4 管理员登录流程图 .705.4.5 修改航班流程图 .725.4.6 增加航班流程图 .735.5 系统的运行环境 74第 6 章 系统实施 746.1 编程过程与特点 756.1.1 编程过程 .756.1.2 编程特点 .756.2 系统的测试 .766.2.1 测试的目的和方法 .766.2.2 具体的测试 .776.3 系统的维护 816.3.1 网络的维护 .816.3.2 数据库的维护 .816.3.3 硬件的维护 .81结论 83致谢 85参考文献 87附录 1 部分程序源代码 .88附录 2 外文文献及翻译 .108毕 业 论 文(设计)用 纸山东科技大学 第 页毕 业 论 文(设计)用 纸山东科技大学 第 页 1第 1 章 绪论1.1 课题研究背景伴随着人们更多的使用飞机作为交通工具,国内机票票务市场也在快速发展。据预测,我国 2006 年机票票务市场将比 2005 年增长 10.5%,达 710 亿元人民币。而与此同时,人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注,于是,传统的购票方式开始面临变革。机票代理窗口购买机票是最传统的方式,但随着人们工作和生活节奏的加快,到代理点购买机票就显得有些耗费时间了,而且机票价格及航班的选择对于消费者来说仍然不是透明的,所有相关信息都是单向传递的缺陷,即购票者只能被动的接受机票代理所提供信息,这种缺陷是导致机票订购市场一些不规范代理现象出现的原因个别机票代理可以利用订票流程中这种信息单向传递的缺陷,误导消费者,从中渔利,例如优先销售高价机票等等。因此,每到春节、五一、十一黄金周,总有一些“买机票难,弄清票价难,讨个说法更难”投诉频见报端。一言以蔽之,就是“消费者想要获得知情权难” 。可见,票务市场已产生诚信危机,对传统机票销售模式的改革已是大势所趋,也由此引发了对民航网上订票系统的研究和开发。1.2 课题研究意义民航网上订票系统作为面向广大用户的售票的终端,具有操作简单、流程顺畅、效率高、完善严谨的特点,是根据市场的实际需要,融合机场的实际业务运作特点和管理需要,推出的体现当前行业最先进管理思想的解决方案。通过实时、透明的航班价格与信息的提供,使用户及机票代理均可获得诸多的益处:用户可以自己选择航班、时刻、舱位,使航班价格及信息透明化,最大限度地消除了目前机票销售市场上存在的散、乱、黑等现象,从而使用户明明白白“订”票,机票代理人明毕 业 论 文(设计)用 纸山东科技大学 第 页 2明白白售票,使用户及机票代理人的合法权益得到最大保障。打印电子票单功能,使购票过程大大简化,不仅降低了成本,而且提升了客户的服务响应速度和满意度,真正实现了现代化管理。1.3 国内外研究现状随着互联网技术的日益成熟,近年来网上订购机票日益流行。越来越多的人们可以通过航空公司网站、旅行社网站以及其他旅游、机票销售的专业网站选订机票。网上订票在一订程度上提高了购票的透明度和自主性,但上述网站在方便消费者的同时,仍存在许多不足的地方。 国外的电子商务技术已经发展成熟,人们在网上购物,订票已经是司空见惯的事情了。而中国才处于初级阶段,各方面都还不完善,网上电子支付不普及和网上信誉难以审核就是两大难题,网上购票的普及与认可还需要一段很长的路要走。所以,开发工作者们都在寻求一种符合中国国情并能切实推广的航空票务系统。05 年底,苏州信息亭公司继开通了汽车票售票业务后,又新开发了航空票务系统,市民只要到信息亭终端机上点击“票务中心电子机票”按钮,就可以进入到信息亭的电子机票销售系统,选择自己需要的航班、填写好乘机人的详细资料、用光大银行卡完成结算,轻松购得了一张电子机票。在乘机时,市民可凭自己的有效证件到机场柜台办理登机手续,换取登机牌,就可以开始自己的开心之旅了。这的确是使市民享受到了便捷专业的电子机票购买服务,但我认为这个系统也有不完善处,比如使用电子机票销售系统必须在终端机上进行,而购买机器需要投入很多的资金,增加了成本。还有,在换取登机牌时也还是要经过一系列的手续。基于这些,我认为我所开发的系统需要解决这些问题。比如,我会将系统和网上银行系统结合起来,实现机票购买的一体化。毕 业 论 文(设计)用 纸山东科技大学 第 页 3第 2 章 系统分析2.1 系统调查本系统采用的是 Tomcat 服务器,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器;是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。因为 Tomcat 技术先进、性能稳订,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp目录下,Tomcat 会自动检测到这个文件,并将其解压。另外 Tomcat 也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个 xml 文件中。通过这个应用,辅助于 Ftp,你可以在远程通过 Web 部署和撤销应用。当然本地也可以。2.2 系统的可行性任何系统的存在都必然有它存在的一面,民航订票系统是为了缓解航空业对于这几年飞速发展的机票的紧张管理。民航系统是面向群体的不订向用户的一个系统,因此,这个系统就要求安全,高效率和稳订的特点,鉴于这些因素,我作了以下的分析。毕 业 论 文(设计)用 纸山东科技大学 第 页 42.2.1 语言可行性的分析Java 是一种简单的面象对象的分布式的解释的健壮的安全的结构中立的可移植的性能很优异的多线程的动态的语言。将它作为本系统的主要开发语言主要体现在以下几点: 1、简单Java 语言是简单的,它摒弃了 C+ 中很好使用很难理解也很容易出错的特性,如操作符重载,多继承等,特别地,Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧,因而它是简单易学的,它可以让我们放心的来关注我们的业务流程而不需要考虑各种内存溢出的情况。2、面向对象 Java 语言的设计完全是面向对象的,提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements) 。3、分布式 Java 包括一个支持 HTTP 和 FTP 等基于 TCP/IP 协议的子库。因此,Java 应用程序可凭借 URL 打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。本系统是 BS 模式的,用户的访问主要是通过 Internet 来访问和实现其业务的。使用 Java 语言能很好的满足本系统的需要。 4、健壮 Java 致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java 自已操纵内存减少了内存出错的可能性。Java 提供 Null 指针检测数组边页检测异常出口字节代码校验 。本系统是一个长期运行型的系统,Java 语言的健壮性让我们的系统能够很好的来维护和管理我们的系统。 5、安全 Java 的安全性可从两个方面得到保证。一方面,在 Java 语言里,象指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当 Java 用来创建浏览器时,语言功能毕 业 论 文(设计)用 纸山东科技大学 第 页 5和一些浏览器本身提供的功能结合起来,使它更安全。本系统是一个 WEB 系统,安全性尤其重要,采用 Java 能够让我们的系统处于一个安全的环境,不受外来的非法操作而崩溃。6、网络应用系统 Java 是一种与平台无关的语言,因此用 Java 开发的网络应用系统可以在各种平台上运行,大大增加了开发效率,减少重复劳动。而且,Java 集成的网络功能分有利于开发网络应用系统。本系统就是一个基于网络环境的开发,使用 Java 可以很好的满足本系统的要求。2.2.2 框架的可行性任何系统都会有它自己的框架,框架的好坏决定了这个系统的工作效率和以后维护的难易程度,一个好的框架都遵循着 MVC 的分层框架。本系统应用了 2 个框架:表现层框架和持久层框架。2.2.2.1 表现层框架 strutsStruts 是 Apache 软件组织提供的一项开放源码项目,它为 Java Web 应用提供了模型-视图-控制器(Model-View- Controller,简称 MVC)框架,尤其适用于开发大型可扩展的Web 应用。Struts 的优点主要集中体现在两个方面:Taglib 和页面导航。Taglib 是 Struts 的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。Struts 完成了 servlet 的编写,通过 servlet 它将要处理的请求都转向了 Action 处理,让我们处理请求的代码和发送请求的代码隔离开来,很好的实现了 MVC 的分层。2.2.2.2 持久层框架 hibernate毕 业 论 文(设计)用 纸山东科技大学 第 页 6Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代CMP,完成数据持久化的重任。2.2.3 结构的可行性现在的系统归纳起来有 2 中结构:CS(client/service)和 BS(browser/service).CS 是针对特定群体的一种模式,它需要在客户端安装相应客户端软件,它的安全性比 BS 高。BS 是面向不订向的群体,它不需要用户安装任何软件,只要用户有浏览器即可登陆和此系统进行交互。此系统采用的是 BS 模式,因为我们的用户是面向所有有意向购买机票的乘客。BS 结构的主要特点如下:1. 采用 Internet/Intranet 技术,适用于广域网环境 2. 支持更多的客户。可根据访问量动态配置 WEB 服务器、应用服务器,以保证系统性能。 3. 客户端只需标准的浏览器 4. 采用面向对象技术,代码可重用性好 5. 系统扩展维护简单 6. 开发费用较高,开发周期较长毕 业 论 文(设计)用 纸山东科技大学 第 页 7第 3 章 需求分析3.1 业务流程图本系统是民航订票系统,在客户端实现了用户的登录,注册,航班的查询和退订的功能的页面,在航空公司内部实现了管理员的登录,管理员对航班的增删查改等操作。具体业务流程请参见图 3-1。毕 业 论 文(设计)用 纸山东科技大学 第 页 8图 3-1 业务流程图3.2 新系统逻辑模型的提出此系统在网络运行上采用了 B/S 结构,实现了 用户的登陆,航班的查询,机票的预订和机票的退订的页面。在代码的实现部分采用了 Struts 框架,完成了表现层的 MVC 分层。 同时在业务层代码的实现部分采用分层框架,实现了表现层和业务层代码的分离。本系统的模型如图 3-1 所示。图 3-1 本系统的分层模型图 在客户端,用户只需要安装浏览器就可以通过 Intenet 和服务器建立连接,来完成相应的功能。服务器,是整个系统中最重要的部分,服务器主要处理客户端发送来的请求,通过JDBC 或 Hibernate 来和数据库建立连接来改变数据库中的数据。数据库,是任何系统都不可或缺的模块,它是用来保存我们在系统操作过程中所涉及到的基本信息。毕 业 论 文(设计)用 纸山东科技大学 第 页 93.3 数据字典业务数据如下:1、航班计划(Flight Scheduler):用来描述由某个航空公司执行的某个订期航班的计划表。例如:由中国国际航空公司执行的每天早上 8:00 从北京起飞,上午 10:00 到达上海的CA1202 就是一个航班计划。航班计划中包含如下属性:航班号、起始日期、结束日期、出发地、目的地、离港时间、到港时间、里程、飞机机型、班期、基准票价。主要属性介绍如下:(1) 航班号:由航空公司给航班计划订义的唯一标识号码,该号码由 2 位英文字符和4 位数字组成,2 位英文字符是航空公司编码,4 位数字是航班编码。例如:CA1202 就是一个航班计划的航班号,其中 CA 代表中国国际航空公司,1202 代表航班的编号。(2) 出发地:用来描述某个航班计划的起飞城市和机场,所有国内机场均用三个英文字母的代码表示。(3) 目的地:用来描述某个航班计划的到达城市和机场,所有国内机场均用三个英文字母的代码表示。(4) 离港时间:用来描述某个航班计划的从出发地机场离开的时刻,离港时间一般代表飞机舱门关闭,不再接收乘客的时刻。该时间精确到分钟。(5) 到港时间:用来描述某个航班计划到达目的地机场的时间,到港时间一般代表飞机舱门开启,允许乘客下飞机的时刻,该时间精确到分钟。(6) 开始日期:用来描述某个航班计划的开始日期,该日期精确到某一天。(7) 结束日期:用来描述某个航班计划的结束日期,该日期精确到某一天。(8) 班期:用来描述某个航班计划在一周之内哪些天有航班,哪些天没有航班。2、航班(Flight):用来描述在某个确订日期执行某个订期航班计划的一次航班。例如:2008 年 5 月 25 日从北京飞上海的CA1202 就是一个航班的实例。3、属性:航班计划,出发日期,各舱剩余座位数,折扣。4、舱位等级(CabinClass):用来描述航班的不同舱位,一般分为三种:头等舱(F) ,公物舱(C) ,经济舱(Y) 。不同的舱位等级具有不同的机票折扣。实际情况中航空公司订毕 业 论 文(设计)用 纸山东科技大学 第 页 10义的舱位等级可能更复杂,在本项目中为简化业务模型,只对舱位等级做上述三种划分。5、乘客类型(TicketType):用来描述乘坐航班的乘客的类型,一般分为三种:成人(A)(age12) ,儿童(C)(2age=12) 。不同的乘客类型具有不同的机票折扣,详情请见乘客折扣。6、飞机机型(Plane Model):用来描述执行某个航班计划的飞机的型号,一般来讲,一个航班计划的各次航班都应该采用同种机型的飞机来执行。不同的飞机型号有不同的航程及各舱座位数。实际情况中,各种机型的座位数是不一样的,同一机型还分好几个系列,如 B737(波音 737)有 B737-200、B737-300B737-900 等多个系列,每个系列座位数都不一样。即使是同一型号、同一系列的机型,所属的航空公司不同,座位数也会不同,因为航空公司在购买飞机时,会根据自己的需要要求厂家采用不同的布局,不同的布局会有不同的头等舱、公务舱、经济舱座位数。在本项目中为简化业务模型,我们认为同种型号的飞机各舱座位数是固订的。7、机票订单(Ticket Order):一张成功出票的机票记录。毕 业 论 文(设计)用 纸山东科技大学 第 页 11第 4 章 系统设计4.1 系统的总体设计本系统采用的 BS 结构,因此,此系统可分成页面的设计,包括管理员页面和用户页面;业务层的设计,主要是一些关于处理页面发过来的请求的方法。4.1.1 页面的设计由于我采用了 BS 结构,摆脱了 CS 传统的客户端和服务器端一对一的关系,同时我们也注入了页面的显示,用户和服务器打交道不再是传统的客户端代码和服务器端代码的编写。BS 结构的特点就是所有的代码都是在服务器端也就是在公司内部实现,用户端根本没有任何编码,只有显示,而这些显示就是要通过我们页面的设计编码来实现。页面设计中我采用的是 JSP 来显示页面,它能显示动态的页面,能够根据用户不同的请求显示出不同的页面。为了实现页面的复用,我使用了 Struts 中的 tile 框架,提供了一个通用的模版,它能够将不同的 JSP 页面整合到一个页面中,使整个页面看起来更有逻辑性,同时也更美观。本系统中我实现了以下功能的页面设计。在客户端用户可以登录,注册,航班的查询,航班的预订和航班的退订。就客户端功能的实现我设计包含了以下页面:用户登录功能: 此功能包含了用户的登录页面。用户注册功能: 此功能包含了用户注册信息的填写页面和注册成功的提示页面。航班查询功能 :此功能包含了航班查询页面和查询结果显示页面。毕 业 论 文(设计)用 纸山东科技大学 第 页 12航班预订功能: 此功能包含了航班显示页面,乘客信息填写页面和支付页面。航班退订功能: 此功能包含了用户已预订的航班的现实页面和退票的支付页面。管理员是在服务器端需先登录,让后才能对航班进行增删查盖等功能的操作。就这些功能我设计了以下的页面:管理员登录页面:用来完成管理员的登录功能。 航班查询功能: 来实现此功能的有 2 个页面,查询页面和查询结果显示页面。航班删除功能: 用来实现此功能的就只有航班的显示页面以及删除后的显示页面。增加航班功能: 用来实现此功能需要填写航班信息的页面和增加成功后的提示页面.修改航班功能: 用来实现此功能需要修改航班信息的页面和修改成功后的提示页面。4.1.2 业务层的设计业务层也就是功能实现的具体代码,BS 结构中,业务层必须很好的实现表现层即页面显示代码和业务层之间代码的分离,这样方便以后的维护。在业务层一般有实体层和业务逻辑处理层。同时也会有控制层就是连接业务层和表现层的桥梁。实体层:就是我们所做系统中需要的数据,我们将它们打包封装在一个类中,它没有任何实现代码,它的功能就是将业务数据映射要数据库中,在数据库中形成一张表来保存系统中我们所涉及到的一些业务数据。业务逻辑处理层:具体的实现代码,是表现层所有功能实现的代码的集合,它能够根据页面上发送过来的请求来实现响应的功能,它是一个系统的核心,没有这一层我们所有的操作都只是表象,所操作的数据永远不能保存到数据库中。控制层:连接表现层和业务逻辑层的桥梁。他的存在就是为了实现表现层和业务逻辑层的代码分离,降低它们的耦合性,方便以后更好的维护和功能的扩展。在本系统中我实现了以下功能:用户端:毕 业 论 文(设计)用 纸山东科技大学 第 页 13航班查询 :用户输入 出发地,目的地,舱位等级 和 出发时间,点击查询就能查找到相应的航班。航班预订:在航班查询的页面上,所查询到的航班后都会有一个购买操作,点击购买,转入到输入乘客信息和联系人信息,填写完之后就转入到了支付页面,选中你的银行卡的类型,输入卡号和密码后,确认无误后,完成了预订操作,相关的数据就已经更改。航班退订: 用户登录后,在首页栏上有 “我的预订”选项,在页面就会显示你所预订的所有航班,在其后都有有一个“退票” 操作,点击后 会显示此航班的详细信息以及退票费要转入的帐户和密码,无误后,完成,相关数据保存到了数据库。管理员:航班查询 : 管理员输入 出发地,目的地,舱位等级 和 出发时间,点击查询就能查找到相应的航班。航班删除:在查询页面的航班后都有删除和修改操作,点击删除,删除此航班,更改数据库数据,完成删除。修改航班:在查询页面的航班后都有删除和修改操作,点击修改,进入要修改的页面,填写要修改的详细信息后,确订无误后,修改完成。添加航班:在管理员页面首页有一个增加航班的选项,选中后转入要增加的航班,填写航班的信息后,提交,增加完成。在业务层设计中,我们也主要是针对这些功能的描述来具体的实现它的功能。4.2 详细设计4.2.1 页面的设计页面的设计我采用了框架来实现我的页面,为了方便查找和以后的维护,在页面设计部分我分了 5 个包:action.,adminAction,admin,comp 和 layout。action: 这个包中存放的都是一些用户端的子页面,都是用来填充模版上的各个毕 业 论 文(设计)用 纸山东科技大学 第 页 14模块的,同时,这个包里也是用户端页面的主要实现代码。adminAction: 这个包中和 action 一样,只不过里面存放的是管理员的子页面。admin: 这个包中存放的就是管理员端的组合页面,是管理员端页面显示的页面,这里的页面继承了 layout 中的框架模版,同时也调用了 adminAction 中的相关页面组成了管理员看到的操作页面。comp: 类似 admin 包,里面的组合页面也继承了 layout 中的框架模版,只不过这里的页面显示是客户端的,同时调用的子页面也来自于 action 包。layout: 里面放的是一个模版框架,它规定了页面的显示格式。页面的具体设计:页面设计我自定义了一个模版,它将一个页面分成了Header,Login,Search ,body ,foot 5 个部分。Header,页面的头,在这个页面上我显示了一些相关的导航,可以更方便的查看我们的页面。只有在管理员和用户登陆的时候才会有所区别。Login, 用户的登陆页面,登陆前和登陆后的显示会有所区别。Search, 是航班查询的页面,在购买时会显示你购买航班的详细信息。Body, 页面的主题部分,用来显示服务器发给我们的结果。Foot, 页面的脚,就是也写关于页面制作人的一些相关联系。4.2.1.1 登录页面的设计登陆页面是用户进入服务器实现其功能的唯一通道,此页面分成用户登录和管理员登录;用户的登录页面处在整个页面中的 Login 块,管理员的登录页面单独是一个页面,在其登录页面上提供了用户名和密码的输入以及登录按钮和注册按钮组成了登录页面。效果显示如图 4-1 和 4-2。毕 业 论 文(设计)用 纸山东科技大学 第 页 15毕 业 论 文(设计)用 纸山东科技大学 第 页 16图 4-1 用户登录页面图 4-2 管理员登录页面4.2.1.2 注册页面的设计注册页面是游客为了实现更多地功能而注册成新用户的一个页面。此页面需要用户填写一些相关的信息。具体页面设计见图 4-3。图 4-3 用户注册页面4.2.1.3 查询页面的设计查询页面是用户查询航班的唯一页面同时也是管理员查询航的唯一页面。管理员的查询页面和用户的查询页面一样。查询页面包含了出发城市的选择,到达城市的选择,舱位等级的选择和出发日期的输入,登陆页面在整个页面的 Search 块,页面的效果显示如图4-4 所示。图 4-4 查询页面4.2.1.4 结果显示页面的设计毕 业 论 文(设计)用 纸山东科技大学 第 页 17当用户查询航班时,首先要显示航班号,起飞时间,到达时间,飞机机型,舱位等级以及此趟航班的价格,同时还有一个对此航班进行预订的一个购买操作。此页面的具体显示如图 4-5 所示。图 4-5 查询结果显示页面4.2.4.5 订票页面的设计用户预订机票必须通过订票页面来实现其功能,订票功能包括了 3 个页面,它们分别是航班的显示页面,乘客信息填写页面和支付页面。航班的显示页面即查询结果页面,见图 4-5 所示。乘客信息填写页面需要乘客填写乘客的姓名和身份证号码,下面的联系方式是用户注册时的信息,用户可以对其联系方式进行更改。具体效果显示如图 4-6 所示。支付页面分别显示着乘客预订的航班的具体信息和支付银行卡的选择,账号的输入和密码的输入。页面的效果显示如图 4-7 所示。图 4-6 乘客信息填写页面毕 业 论 文(设计)用 纸山东科技大学 第 页 18图 4-7 支付页面4.2.1.6 退票页面的设计用户预订的机票如果想退票,就必须进入退票页面,退票程序包含了 2 个页面:我的预订页面:此页面显示着用户预订航班的具体信息,包括了出发地和目的地,出发的具体日期,订票的日期和花费的金额,在其后还有也各退票的操作。页面的具体显示如图 4-8 所示。点击退票进入退票页面后,会显示乘客的信息(姓名和身份证号码) ,航班的信息以及退票时返还的金额,在下方还要输入具体的银行卡号和密码来接受返还的金额。页面的具体效果显示如图 4-9 所示。毕 业 论 文(设计)用 纸山东科技大学 第 页 19毕 业 论 文(设计)用 纸山东科技大学 第 页 20图 4-8 我的预订页面图 4-9 退票页面4.2.1.7 管理员首页页面的设计在图 4-2 的页面上输入管理员和密码,正确后就可以进入管理员首页,其页面的具体设计如图 4-10 所示。图 4-10 管理员首页4.2.1.8 查询航班页面的设计管理员的航班查询和用户一样,查询结果页面的显示如图 4-11 所示。图 4-11 航班显示页面毕 业 论 文(设计)用 纸山东科技大学 第 页 214.2.1.9 增加航班页面的设计在管理员的 Header 块上的导航上,有一个增加航班的选项,点击后会进入增加航班的页面,此页面包含了航班计划的选择,此次航班编号的选择,出发日期的输入,头等舱,公务舱,经济舱座位数的输入和季节折扣的输入,页面的效果显示如图 4-12 所示。图 4-12 增加航班的页面4.2.1.10 修改航班页面的设计在管理员查询航班后,在航班查询结果显示页面(如图 4-11 所示)上的条目后会有“修改”操作,点击后进入修改页面,在修改页面有出发日期的修改,头等舱,公务舱,经济舱座位的修改和季节折扣的修改。页面效果如图 4-13 所示。图 4-13 航班修改页面4.2.1.11 删除航班页面的设计此页面的设计的效果如图 4-12 所示。4.2.2 控制层 action 包的设计本系统采用的是 struts 框架,struts 框架的特点就是它本身写好的 servlet 将页面发送来的请求分配到相应的 action 类中去执行,这些类都存放在了 action 包中。在 action包中我们写了以下 7 个类:LoginAction.java: 里面存放的是一些关于接收登陆请求的方法。PlaneAction: 里面存放的是一些关于接收用户订票流程的方法。RegisterAction:里面存放的是一些接收用户注册请求的方法。毕 业 论 文(设计)用 纸山东科技大学 第 页 22MenuAction: 里面存放的是一些接收页面头的上的导航请求的方法。AdminAction: 里面存放的是一些接收管理员有关操作请求的方法。RefundedAction:里面存放的是一些接收用户退票流程请求的方法。 LogoutAction:里面存放的是一些接收用户退出了的方法。以上 7 个类能接受用户发送来的任何请求,根据用户的请求他们会调用相应的方法去实现此次请求的功能。4.2.3 业务层的设计在系统的业务层设计中,业务层上一般都设计以下 5 个包:entity,dao ,biz ,form,和 util。Entity 包中存放的都是一些具体的实体类,它们没有什么功能,它们就是映射了数据库中的表的结构,将我们的业务数据和数据库映射在了一起,让我们能够通过实体类能看出数据库中表的结构。这里面的每一个类在数据库中都会有一个表来对应。在这个包中还有一些 Hiberbate 的 xml 配置文件,他们就是连接数据库和这些实体类的桥梁,通过它们我们能将我们的实体类真实的写入到数据库中(这是通过Hibernate 自动生成的表)Dao 包 中存放的就是就是一些具体的实现了,这些类专门和数据库打交道,通过它们用户能根据他们的请求得到用户响应的数据,可以说这个包里存放的就是这个系统的核心代码,就是这个系统的灵魂。Biz 包中 就是一个中间桥梁,用来隔开表现层和业务层的一个包裹,表现层只能通过这个包中的方法去和 DAO 打交道,很好的实现了代码的隐藏功能,可以实现产权的保密性。Util 包 是一个帮助包,里面写了一些这个系统常用的代码,由于有很多方法都要它们,所以我将它们单独拿出了可以减少代码的复用,也使代码看起来更简洁。Form 包 是一个验证包,里面存放的方法都是用来验证输入是否为空。在本系统中,业务层上我设计了 5 个包:entity,dao,biz,form ,和 util。毕 业 论 文(设计)用 纸山东科技大学 第 页 23entity 包是存放实体类的包,里面存放的都是一些和我们项目的数据,只不过我们是把我们用到的数据封装后再存放到这个包中。在这个系统中,我用到的数据可以分成 7 个类,都存在了这个包中,我用的是 Hibernate 来连接的数据库,因此,在这个包中的每一个具体的实体类都应该对应一个相应的*.hnm.xml 文件,来让数据库自动的将此实例的相关数据存放到数据库中并自动的建表来保存。这 7 个实体分别是:User.java: 是用来存放用户的相关信息的实体类。Airport.java: 是用来存放机场的相关信息的实体类。AirplaneModule.java: 是用来存放飞机类型相关信息的实体类。FlightScheduled.java: 是用来存放航班计划表相关信息的实体类。Flight.java: 是用来存放具体某一趟航班相关信息的实体类。TicketOrder.java:是用来存放用户订单相关信息的实体类。Card.java: 用来存放银行卡相关信息的实体类。dao 包里面存放的就是和数据库打交道的具体实现类。本系统我写了 3 个类:PlaneDAO.java: 这个类中有用来处理用户端登陆,订票和退票等功能的方法。CardDAO.java: 这个类中有用来处理有关银行卡中余额的的增减等功能的方法。AdminDAO.java: 这个类中有用来处理管理员端操作的增删查改等功能的方法。biz 包 里面存放的都是控制层和 dao 包中的方法调用的中转类。本系统我在这个包中写了以下 4 个类:OrderBiz.java: 这个类中的方法是用来中转用户订票流程中请求时的一些处理方法。AdminBiz.java: 这个类中的方法是用来中转管理员操作流程中请求时的一些处理方法。UserBiz.java: 这个类中的方法是用来中转和用户相关操作请求时的一些处理方法。CardBiz.java: 这个类中的方法是用来中转和银行卡操作请求时的一些处理方法。毕 业 论 文(设计)用 纸山东科技大学 第 页 24form 包中存放的是一些从页面传过来的消息进行验证的一些类。在本系统中我定义了以下 3 个验证类。LoginForm.java::这个类是对用户登录时输入的用户名和密码进行是否为空的验证。PassagerForm.java: 这个类中是对订票流程中输入用户信息是否为空的验证。RegisterForm.java: 这个类中是对用户注册信息是否为空的验证。util 包中存放的是一些帮助类,这些类可以被整个系统共用。在本系统中我定义了以下 2 个工具类:PlaneHbnUtil.java: 这个工具类被 dao 包中的所有方法调用,这个工具类是用来建立 SessionFactory 的,是 Hibernate 和数据库建立连接必不可少的一步。DateFormUtil.java: 这个工具类是用来验证从页面输入来的信息是否合法,是继form 包中进行验证后的第二次验证。4.2.4 功能模块的实现4.2.4.1 登录功能的实现登陆页面包含了普通用户的登录和管理员的登录。用户登录功能的实现:用户在登录页面输入相关信息后,发送请求 ActionServlet 会直接把请求分配到 action 包中的 LoginAction.java 中的 login 方法中去执行,在这个方法中通过 biz 包中 UserBiz.java 类中的 FindUser 方法去调用 dao 包中的 PlaneDAO.java方法中的 FindUserInDB()来完成登陆的实现。管理员登陆功能的实现:和用户登录一样,只不过调用的方法不一样。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!