【《基于Java民航售票系统的设计与实现》20000字】_第1页
【《基于Java民航售票系统的设计与实现》20000字】_第2页
【《基于Java民航售票系统的设计与实现》20000字】_第3页
【《基于Java民航售票系统的设计与实现》20000字】_第4页
【《基于Java民航售票系统的设计与实现》20000字】_第5页
已阅读5页,还剩56页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论1研究背景利用计算机网络,人们可以足不出户的进行各种社会和生活活动,如企业宣传,招聘求职,在线购物,房屋租赁,娱乐消费等等。信息产业完全改变了人们的生活方式。在这个信息爆炸的时代,各行各业都需要有自己的网络站点去扩大自己的影响力,为自身带来巨大的经济和社会效益。企业现在使用的还是几年前开发的Web系统,受制于当时的技术现状,该系统存在着许多缺点,如界面不够美观,操作流程繁琐,效率低且保密性差,对浏览器的兼容性不够好,不方便用户随时随地的查看管理各类信息。随着科学技术的不断提高,IT开发技术也在不断的更新换代,使用当前主流的开发模式对该Web系统进行更新升级,已经具备了技术上的条件,同时这也是提高企业形象的方式。民航售票系统是为管理员和用户提供订票、改签或者退票等与机票有关功能的系统。它利用MySQL数据库存储乘客、航班以及订单等信息,所以可以存储大量信息,还拥有高效的查询效率,更重要的是其安全性与可靠性都有良好的保证,可实现航空公司工作业务的自动化。它不光是能为航空公司提供及时、准确的销售信息,还可记录用户信息,便于机票销售方对机票和用户信息进行管理,并加快其工作效率,同时也为旅客的出行提供了便利。2研究意义随着信息技术的发展,使人们上网容易成为现实,而售票厅往往人群拥挤一票难求,现实中去站点购票要受时间及地点的限制,由于现在人们生活节凑变快,时间资源相当保贵,有时为定购一张票需要坐上几个小时的车到售票处去排队买票,有时还会因为信息的缺乏,不能有效的了解票的销售情况,使旅行计划受阻,给顾客带来了很多的不便。网上订票系统,新一种新型的售票模式。用户可以通过网络查询航班的情况及机票的销售情况,以便更好的制定旅行计划,用户通过互联网在网上预订机票,极大的提高的旅客的订票效率,节省了订票的时间,缓解了售票窗口的拥挤的现状,能够方便快捷的告诉用户的机票情况和机场管理员的便捷管理规划机票的票价和班次。24小时网上在线购买,使信息得到及时处理,不必再为工作人员下班导致无法购买带来的损失。无论是全局统计,还是细分统计,在数据库都有详细的预览,操作记录一览无遗,简洁透明。用户的注册信息便捷导入数据库,免除管理员的注册审核烦恼,对网址保存有记忆功能。用户界面能够人性化的凸显出需要表达的内容,简易的界面设计,使新用户对订票流程有更形象的视觉概念,且操作简单,方便快速有效的上传顾客信息,进而得到快速处理。民航售票系统的成功实施,提高了售票的信息化管理水平,减小了工作人员的工作强度,为航空运输行业提供了新型的管理模式。民航售票系统是为管理员和用户提供订票、改签或者退票等与机票有关功能的系统。它利用MySQL数据库存储乘客、航班以及订单等信息,所以可以存储大量信息,还拥有高效的查询效率,更重要的是其安全性与可靠性都有良好的保证,可实现航空公司工作业务的自动化。它不光是能为航空公司提供及时、准确的销售信息,还可记录用户信息,便于机票销售方对机票和用户信息进行管理,并加快其工作效率,同时也为旅客的出行提供了便利。3国内外现状随着互联网技术的日益成熟,近年来网上订购机票日益流行。越来越多的人们可以通过航空公司网站、旅行社网站以及其他旅游、机票销售的专业网站选订机票。人们在网上购物,订票已经是司空见惯的事情了。网上订票在一订程度上提高了购票的透明度和自主性,但随着技术的发展和人们生活质量及方式的变化,一些老旧的订票网站就可能跟不上人们的需求,仍存在许多不足的地方,一个合格的航空订票系统需要不断的发展维护更新,需要跟上时代的脚步,尽最大能力满足客户各方面的需求。 目前市面上比较受欢迎的航空订票系统比如有携程网,这家网站囊括的范围很广,可以说从你登上这个网站之时,这家网站都已经给你提供了出发到回来的全套服务体系的选择方案,携程网的服务绝对是个亮点,你预订付款后,如果有任何事宜需要帮助,携程网的客服人员都会尽力的为你服务。另外再细节方面,携程网也是做的很好,比如有很多短信温馨提示。携程网的一大特点就是实现了旅行产品的网上一站式服务,业务范围涵盖酒店、机票、旅行线路的预订及商务使用信息的查询检索等。像这样的网站模式很符合时代和人们的需求,一切为了方便客户的设计与服务,必将得到用户的支持与拥护,这样的网站才会长足发展,经久不衰。。互联网络的迅速发展,对人们的生活和工作方式产生了深刻的影响,尤其是在工作中,网络的使用极大的提高了各个行业的工作效率,节约了企业的运营成本。当前,大量的航空公司对于售票运营的管理还处于人工手工作业管理阶段,不但工作效率低下,而且难免因为操作不当引起工作的纰漏。因此,大量航空公司迫切希望能够设计自己的民航售票系统,帮助企业达到对乘客、航班等管理的自动化,以达到节约运营成本,提高工作效率的目的。采用JSP技术是解决上述问题的有效选择,JSP技术开发的系统在跨平台方面有出色的表现,并且扩展性强,灵活兼容,这就使得售票系统的开发更有效率,能够避免系统不兼容所带来的投诉、浪费,强大的扩展能力也为系统的优化提供了便利。4主要研究内容结合科学管理的理论,根据企业售票信息的管理流程和日常管理工作的需求,本项目设计并开发一个基于网络环境的民航售票系统。针对售票信息管理的业务流程,结合科学管理的理,本系统使用MyEclipse作为开发平台,采用B/S结构,结合Java开发语言,以MySQL作为后台数据库。开发出一个提高人们获取信息的高效性与方便实用的民航售票系统,系统的功能实现由系统管理员和系统用户两种角色完成。本系统的具体功能如下:(1)用户注册登录模块:已经注册并具备用户名的用户,可通过输入正确的用户名及密码登录到系统。未注册的用户,通过输入系统规定的数据格式后,可进行快速的注册后登录系统。(2)个人信息管理模块:用户登录系统后,可进入个人中心进行个人资料的修改、完善,以及密码修改。(3)航班查询模块:无论用户是否登录系统,都可以进行航班信息查询,可以根据出发时间,到达地点以及出发时间查询对应的航班信息。(4)机票订购模块:已登录的用户可根据实际情况订购机票,选择舱位类型,以及订购数量。未登录用户点击订购链接时系统会发出警告,并自动重定向到登录界面。(5)订单修改模块:用户成功订购机票以后,可对机票进行改签和退票。(6)管理员个人管理模块:可进行密码修改。(7)用户信息管理模块:可对已注册该系统的用户进行查看,修改,删除及批量删除,也可新增用户。(8)航班信息管理模块:能够对航班信息进行增删改查,以及批量删除。(9)客机信息管理模块:能够对飞机信息进行增删改查和批量删除。(10)航班信息管理模块:可对订单信息进行增删改查,以及批量删除。

1相关技术本章主要从JSP技术,系统使用的编译语言,B/S结构,Myspl数据库简介和动态网站分析。1.1JSP技术简介JSP技术开发的各种web应用包括各种管理系统和各种网站程序,都是跨平台的,即便微软凭借window系统的优势使其他开发语言得到了很广泛的应用,但是在绝大多数的企业级应用中,JSP技术开发仍占据着第一的地位。SunMicrosystems公司在2009年4月被甲骨文公司成功收购,目前JSP技术的更新由甲骨文公司继续进行。JSP技术的优点:(1)一次编写,到处运行。由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。1.2系统使用的编程语言Java语言设计的程序有着可以跨平台,运行效率高,保密性强的特点。Java语言凭借着出色的优点在互联网的编程开发中起到了越来越重要的作用。Java语言是一个独立于平台运行的语言,Java语言开发的程序可以做到一次编译,到处运行的特点,这种方式给整个开发行业带来了翻天覆地的变化。Java语言会在新的时代里起到领头大哥的作用,同时该语言也在不断的完善自己,相信可以在未来的互联网开发行业中起到更重要的作用。随着SunMicrosystems公司在2009年4月被甲骨文公司成功收购,Java的更新也由甲骨文公司继续进行,甲骨文公司对Java语言又进行了很大的完善和更新,目前JavaToolKit的最新版本为8.0。Java技术有下列优点:简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。1.简单Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。2.面向对象Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。3.分布性Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其他对象。如果你想学习Java可以来这个群,首先是一二六,中间是五三四,最后是五一九,里面有大量的学习资料可以下载。4.鲁棒性Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。在编译时,通过集成的面向对象的异常处理机制,Java提示出可能出现但未被处理的异常,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。5.安全性用于网络、分布环境下的Java必须防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。6.体系结构中立Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。7.可移植性与平台无关的特性使Java程序可以方便地移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C语言实现,这使得Java系统本身也具有可移植性。8.解释执行Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。9.高性能和其他解释执行的语言如BASC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。10.多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为。11.动态性Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。1.3B/S结构基于客户浏览器和程序服务器的结构使得使用者无需在个人PC终端上安装任何客户端,就可以访问系统和网站,只需一根网线即可,达到了不论何时不论何地的方便管理方式。虽然现在随着移动终端的兴起,通过手机APP改变了人们的生活和工作方式,但是有很多功能和体验是APP客户端所永远不能代替的,比如完美的页面效果,更功能强大的菜单等。因此B/S开发模式在以后仍将是IT开发的主流模式。B/S结构概念:B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。B/S架构的系统无须特别安装,只有Web浏览器即可。B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上,这样就避免了庞大的胖客户端,减少了客户端的压力。因为客户端包含的逻辑很少,因此也被成为瘦客户端。优点:1,客户端无需安装,有Web浏览器即可。2,BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。3,BS架构无需升级多个客户端,升级服务器即可。1.4MySQL数据库简介一个新开发的项目,需要有数据库的配合。需要一个容量大,储存快,功能稳定的数据库。本系统选择使用的数据库是MySQL。MySQL是一种关系数据库管理系统,它最明显的机制就是将有关联的数据各个建表,多个表格通过不同的SQL语句实现对数据的增删改查,几个表格在一起相辅相成,分工明确。整体条理清晰,加快了速度并且提高了灵活性。一方面,MySQL因为他的性能优越,同时加上使用MyEclipse开放式的开发环境,使得MySQL的优点发挥到极致,另一方面,MySQL数据库的优点很明显。(1)MySQL数据库可以在编译后,直接可以带到任何环境中使用。(2)支持多线程,可以很好的利用CPU资源。(3)速度更快,因为它的查询机制优化很好。(4)MySQL是免费的。在本系统中,需要一个稳定的数据库,因为一系列的信息都是存放在数据库中的,我们在需要使用的时候,我们会把它调用出来,这样高效的处理方式会很方便。1.5动态网站交互功能是动态网站最大的特征,这个技术常常使用ASP,JSP等开发技术。网站后台可以支持强大的数据库技术支持。网站功能与内容多姿多样,具有很强的功能。动态网站的人机交互好,为开发者与使用者带来很好的使用感受。动态网页包括了很多的服务器脚本,为各种开发提供了可能。通俗的讲所谓的动态网站就是调用数据库而构造的网站。在用户访问网页时,会调用其数据库。一般的动态网页技术有ASP.NET,JSP,PHP等。而且动态网站的开发成本比较高,耗时比较长。所以动态网站建设一般比较适合做企业网站。动态网站的优点:1、网站的互动性非常好,现在很多网页游戏,就是典型的动态网页;2、动态网站的管理非常简单,网站几乎都是通过数据库来管理;3、动态网站可以做到静态网站无法做到的用户注册、登录等问题;4、动态网页可以时时更新数据,可以满足用户的需求;1.6本章小结通过对JSP技术,系统使用的编译语言,B/S结构,MySQL数据库简介和动态网站分析认为可行。

2需求分析本章从可行性分析,需求背景分析,功能背景分析,功能需求分析,参与者分析,性能分析和安全需求进行分析。2.1可行性分析任何的系统在规划中都会有可行性分析,这是综合考虑可能会在开发过程中遇到的问题,然后进行一个系统的评估分析。本论文的可行性分析主要从技术、经济、时间、法律等方面进行可行性分析。2.1.1技术可行性这个项目在技术上是可行的,这个毕业设计跟基于B/S模式下,使用JSP与Java语言共同完成,数据库用的是MySQL,运行环境是MyEclipse。加上平时所学习的知识与其他途径获取的知识,一步步积攒而成。2.1.2运行可行性在运行方面,目前现在的大学生都有一定的计算机操作基础,而且在校园内有大量公共的电脑供大家选择使用,所以大家很容易上手,没有困难点,不用特意培训,操作系统简单,功能清晰,运行没有问题。2.1.3时间可行性从开始筹备阶段到正式落实有一个学期的时间。当做一个功能明确的项目时,前期做足了充足的分析,这一个学起的时间感觉把专业知识重新整合了一遍,整体的时间没有任何的问题,时间很充裕,所以时间可行性没有问题。2.1.4经济可行性民航售票系统的开发环境MyEclipse是免费的,数据库MySQL是免费的,服务器是当下开发流行的Tomcat也是免费的。所以开发过程中的软件都是免费的,所以前期开发所用到的费用很低,整个项目不会因为资金问题而被滞留,所以在经济上是可行的。2.2需求背景分析随着科学技术的高速发展,利用计算机网络,人们可以足不出户的进行各种社会和生活活动,如企业宣传,招聘求职,在线购物,房屋租赁,娱乐消费等等。信息产业完全改变了人们的生活方式。在这个信息爆炸的时代,各行各业都需要有自己的网络站点去扩大自己的影响力,提高自己的知名度,用少量的投资获取以前需要大量费用才能达到的宣传效果,为自身带来巨大的经济和社会效益。企业现在使用的还是几年前开发的Web系统,受制于当时的技术现状,该系统存在着许多缺点,如界面不够美观,操作流程繁琐,效率低且保密性差,对浏览器的兼容性不够好,不方便用户随时随地的查看管理各类信息。随着科学技术的不断提高,IT开发技术也在不断的更新换代,使用当前主流的开发模式对该Web系统进行更新升级,已经具备了技术上的条件,同时这也是提高企业形象的方式。因此,开发一套完善的民航售票系统,是十分有必要的[3]。充分利用信息行业的现有资源开发更好的民航售票系统来提高工作效率,加强售票信息管理工作是势在必行的。企业长期以来使用过时的基于客户端/服务器端的管理系统进行售票信息管理的日常业务,其操作流程比较繁琐。传统的管理流程存在着种种不足,针对诸多的缺点,本文研究了一种基于B/S的网络版的信息管理系统来解决上述问题,提供快速的售票信息检索功能及快捷的信息管理流程,让用户可以使用更简单、实时、高效的民航售票系统。本网站的开发采用现有成熟技术为参照,共享源码为模板,结合民航售票系统的实际需求进行分析和功能调整,探讨了利用JSP开发民航售票系统的过程。管理人员通过系统完成对各项数据信息的录入和管理工作,同时还需要完成数据信息的及时更新功能。利用MyEclipse集成开发平台和MySQL数据库实现了本系统的具体设计,根据企业售票信息的管理流程和日常管理工作的需求,本项目设计并开发一个基于网络环境的民航售票系统。2.3功能需求分析本网站的开发采用现有成熟技术为参照,共享源码为模板,结合民航售票系统的实际需求进行分析和功能调整,探讨了利用JSP开发民航售票系统的过程。管理人员通过系统完成对各项数据信息的录入和管理工作,同时还需要完成数据信息的及时更新功能。2.4参与者分析该系统是现代计算机技术和信息分析模型相结合的,信息进行分析按照服务流程设计完成。按照参与者不同来划分系统,完成不同的功能。2.4.1用户用例分析民航售票系统中,用户的主要功能是登录后对订票信息和航班信息进行查询。根据对系统的分析,划分出用户的用例如图2.1所示。在用户用例中,用户可以完成登录、订票信息查询、航班信息查询,其中订票信息查询又分为:航班查询、机场查询、票价查询;在航班查询中又分为:机场查询、时间查询。图2.1用户用例图用户图2.1用户用例图用户登录订票信息航班信息航班查询机场查询票价查询<<include>><<include>><<include>>机场查询时间查询<<include>><<include>>2.4.2管理员用例分析在管理员用例中,如下图2.2所示,管理员拥有的行为有订票信息维护、航班信息管理、查询和用户信息管理。具体来说,在订票信息维护中包含了获取订票信息、增加订票信息、删除订票信息、修改订票信息;在航班信息管理中包含了获取航班信息、增加航班信息、删除航班信息、修改航班信息;在查询中包含了订票查询和航班查询,在用户信息管理中包含了用户信息管理。系统管理员系统管理员订票信息维护航班信息维护获取订票信息增加订票信息删除订票信息修改订票信息获取航班信息¸增加航班信息删除航班信息修改航班信息<<include>><<include>><<include>><<include>><<include>><<include>><<include>><<include>>查询¯订票查询航班查询<<include>><<include>>用户信息管理用户信息管理用户信息管理<<include>><<include>>图2.2系统管理员用例图2.5非功能需求分析2.5.1性能需求民航售票系统能够满足系统的先进性、系统的可扩充性和开放性、系统处理的及时性和准确性、系统的易维护性和易用性等方面的性能需求。2.5.2安全需求由于信息管理系统的数据量会非常大,因此在对这些信息进行管理查询时要保证系统的速度。在信息管理过程中还要保证,完整的权限控制,防止某些非法用户恶意攻击系统。2.5.3可靠性需求在小型系统中,安全性是指如果开发的软件是信息安全级别很高的,比如政府或者公安机关的档案文件之类的信息,安全性需求就要求相对较高。2.5.4运行环境需求本系统在任何地点都可以使用,只需要有一台能够联网的计算机即可,计算机配置。硬件要求:处理器inter酷睿i5以上,没存4G以上,硬盘500GB以上。软件环境:操作系统windows7,数据库MySQL4.5,浏览器IE11以上。2.6本章小结通过可行性分析,需求背景分析,功能背景分析,功能需求分析,参与者分析,性能分析和安全需求进行分析。认为可行。3系统设计本章从总体设计,数据库设计,系统开发流程和系统开发环境进行分析。3.1总体设计3.1.1业务流程分析这个学习主要是用的画图分析,使用业务流程图,业务流程图是一种物理模型。他的主要作用是描述系统内部各个模块各个单元与人员之间的业务关系,同时还可以看出管理信息的流向问题。业务流程图,如图3.1所示。图3.1业务流程图基本符号总体业务流程:首先,用户根据页面提示信息进行相应的注册操作;登录进入到系统,在系统首页有航空公司和航班信息介绍,点击航班信息以及查看航班信息具体介绍,点击下面的订票,跳转到订票界面,填写信息订票。首页还有航空公司查询和航班信息查询,进入输入想查询的信息点击确定可以跳转到详细介绍。以及留言。在个人页面可以修改个人信息,修改密码,查询订票信息。其次,管理登录可以对航班信息,航空公司,客机信息进行进行增加,修改删除操作,还可对留言进行回复。总体业务流程图如图3.2所示:用户用户登录网站验证用户信息验证通过查看用户信息修改用户信息审批后的用户信息用户管理系统数据库填写网站信息详细用户信息填写用户信息用户管理系统数据库用户信息管理员审核查看网站信息验证管理员信息管理员登录管理员信息系统用户数据库用户图3.2总体业务流程图用户根据页面表单属性,认真填写相应的信息后提交,数据信息资料都插入到数据库中。数据信息管理业务流程图3.3所示:图3.3数据信息管理业务流程图3.1.2系统功能结构本网站的开发采用现有成熟技术为参照,共享源码为模板,结合民航售票系统的实际需求进行分析和功能调整,探讨了利用JSP开发民航售票系统的过程。管理人员通过系统完成对各项数据信息的录入和管理工作,同时还需要完成数据信息的及时更新功能。根据对系统需求的分析,对系统的基本功能了解,列出了系统的功能结构图。如图3.4:民航售票系统民航售票系统系统设置管理客机信息管理订票信息管理航班信息管理用户信息管理帐号信息设置管理密码信息设置管理用户信息添加用户信息删除用户信息修改管理订票信息管理订票信息提交航班信息添加航班信息修改航班信息删除客机信息添加客机信息修改客机信息删除图3.4系统功能结构图3.1.3系统数据流程数据流图主要的研究是实现功能高层的逻辑关系,处理数据在系统的从哪里来到哪里去的问题,是很重要的分析过程。根据深浅层次的关系,我们把它们分为了0层数据流图,1层数据流图,2层数据流图。0层数据流图主要是三个权限不同的使用者与系统之间互联互通的关系,主要的关系有管理员与用户与系统,这三对的相互交流反馈。主要体现的功能是登录管理、用户功能管理与搜索功能模块。相当于各个角色登录系统后的第一个见面导航栏里所有的功能。1第0层数据流图首先,用户进入网站的首页,开始登录,根据不同的用户角色,用户登录后进入不同的页面,普通用户登陆后进入到用户界面,显示用户菜单;管理员用户登录后,进入后台管理界面,显示管理菜单,入图3.5:

PP0网站相关信息管理员信息管理员图3.5第0层数据流图2第1层数据流图第一层数据流详见图3.6,图中一共有四个数据流动方式,分别为:订票信息、航班信息、用户信息和报表统计信息,这些信息分别被不同的模块管理着分别是:订票管理模块、航班信息管理模块、用户信息管理模块,报表统计管理模块,通过数据与管理模块的有机结合实现了系统所需的功能。订票信息订票信息航班信息P1订票管理P2航班信息管理用户信息P3用户信息管理P4报表统计管理订票信息航班信息用户信息报表统计信息管理员D2订票信息表D3航班信息表D4用户信息表图3.6第1层数据流图3.2数据库设计系统中产生的大量数据都是由数据库组织起来的,而且数据库还是各模块之间交互的关键,因此要对数据库进行完整的设计才能使系统更高效、更安全。3.1.1E-R模型E-R图中有三个基本符号,矩形表示实体型、矩形框内写明实体名;椭圆形表示属性,并用无向边将其与相应的实体型连接起来;菱形表示联系,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。通过以上对系统需求的分析,绘制出本系统的总体E-R关系图。如下图3.7所示,为系统的总体E-R图。图3.7系统E-R图用户信息有:编号,账户,密码,姓名。管理员信息有:编号,名字,创建时间,密码,邮箱,地址,电话。航班信息有:起飞机场,降落机场,起飞时间,降落时间。订票信息有:起飞机场,降落机场,起飞时间,降落时间,公司,客机时间。客机信息有:编号,机型。3.1.2数据库表清单由于本次设计开发的系统涉及到的数据都不具备保密性的数据,因此不需要采取特别复杂的安全措施,只须防止数据被人随意改动即可。管理员信息列名,数据类型,长度,说明。如表3.1所示:表3.1管理员信息表列名数据类型长度说明idint4编号namevarchar50管理员IDpasswordvarchar50管理员密码Realnamevarchar50增加时间Sexvarchar50性别agevarchar50年龄addressvarchar50地址telvarchar50电话addtimevarchar50时间注册用户信息:列名,数据类型,长度,说明如表3.2所示:表3.2注册用户信息表列名数据类型长度说明idint4编号Usernamevarchar50帐号Passwordvarchar50密码Realnamevarchar50姓名Sexvarchar50性别Agevarchar50年龄Addressvarchar50地址Emailvarchar50邮箱Regtimevarchar50时间Ifusevarchar50状态订票信息:列名,数据类型,长度,说明如表3.3所示:表3.3订票信息表列名数据类型长度说明idint4编号Bhvarchar50编号Kjcvarchar50起飞机场Ejcvarchar50降落机场Ksjvarchar50起飞时间Esjvarchar50降落时间Gsvarchar50公司Kjvarchar50客机Membervarchar50用户Sjvarchar50时间公司信息:列名,数据类型,长度,说明如表3.4所示:表3.4公司信息表列名数据类型长度说明idint4编号Btvarchar50标题Dzvarchar50地址Nrvarchar50内容航班信息:列名,数据类型,长度,说明如表3.5所示:表3.5航班信息表列名数据类型长度说明idint4编号Bhvarchar50编号Kjcvarchar50起飞机场Ejcvarchar50降落机场Ksjvarchar50起飞时间Esjvarchar50降落时间Gsvarchar50公司Kjvarchar50客机留言信息:列名,数据类型,长度,说明如表3.6所示:表3.6留言信息表列名数据类型长度说明idint4编号Membervarchar50用户Nrvarchar50内容Sjvarchar50时间Hfvarchar50回复hfSjvarchar50时间客机信息:列名,数据类型,长度,说明如表3.7所示:表3.7客机信息表列名数据类型长度说明idint4编号Mcvarchar50机型3.3系统开发流程分层架构在很多系统中普遍被大家所使用,民航售票系统也是使用的分层架构,分层架构的意思就是要把界面部分、业务逻辑部分、以及访问数据库部分的代码放在各自独立的方法,减少系统功能代码之间的冗余,把它们的关系分清。同时也方便后期的维护。本系统分为三个层次,表示层,业务层以及持久层。这样的好处有大大简化了代码的复杂性,是我们更好的开发。访问数据库使用的是Web服务器,过程如下图:图3.10Web访问数据库3.4系统开发环境系统主要由数据库服务器、应用服务器以及终端用户构成。终端用户通过网络访问应用服务器。开发环境:操作系统:Windows7旗舰版及以上;集成开发环境:MyEclipse;应用服务器:Tomcat6及以上;数据库:MySQL4.5及以上。运行环境服务器端:操作系统:Windows7及以上;应用服务器:Tomcat6及以上;数据库:MySQL4.5及以上。客户端环境:操作系统WindowsXP,浏览器IE11及以上即可。3.5本章小结本章详细叙述了总体设计中业务流程分析,系统功能结构和系统数据流程。叙述了数据库设计中E-R模型和数据库表清单,介绍了系统开发环境。4系统实现本章分为两个部分,分别为用户功能介绍和管理员功能介绍,对本系统全面详细的介绍。4.1用户4.1.1用户登录在填写用户名称和用户密码后,数据会与后台数据库的原始记录进行对比,如果有该记录,那么登录成功。如图4.1所示,用户登录界面效果。图4.1系统登录界面主要代码如下: //处理登录逻辑 //获取用户输入的账号和密码与数据库中的账号密码比对 //如果比对通过则登录成功,进入主页 //否则,返回错误信息 publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType(Constant.CONTENTTYPE); request.setCharacterEncoding(Constant.CHARACTERENCODING); Stringdate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(Calendar.getInstance().getTime()); Stringdate2=newSimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());try{Stringmethod=request.getParameter("method").trim(); ComBeancBean=newComBean(); HttpSessionsession=request.getSession(); //用户登录 if(method.equals("one")){ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringstr=cBean.getString("selectrealnamefromadminwhereusername='"+username+"'andpassword='"+password+"'"); if(str==null){ //登录失败 request.setAttribute("message","登录信息错误 request.getRequestDispatcher("login2.jsp").forward(request,response);} else{ //登录成功进入主页 session.setAttribute("user",username); request.getRequestDispatcher("admin/index.jsp").forward(request,response);4.1.2用户密码管理用户修改密码流程如图4.2所示,系统首先会要求用户输入旧密码,然后输入新密码,系统首先判断,旧密码是否输入正确,如果是则进入下一个步骤,如果旧密码不正确,则返回错误信息,提示用户;在旧密码正确的前提下,会进行新密码合法性判断,如果合法则修改成功,否则修改失败,如图4.2所示;修改密码修改密码输入旧密码输入新密码判断旧密码是否正确判断新密码是否合法旧密码错误新密码不合法提交刷新用户信息表YNNY图4.2密码修改流程图此外,前端的用户修改密码界面效果图如图4.3所示;图4.3用户修改密码界面效果图主要代码如下://修改密码//代码首先检测旧密码是否正确,根据解决处理后续步骤elseif(method.equals("uppwd")){ Stringusername=(String)session.getAttribute("user"); Stringoldpwd=request.getParameter("oldpwd"); Stringnewpwd=request.getParameter("newpwd"); Stringstr=cBean.getString("selectidfromadminwhereusername='"+username+"'andpassword='"+oldpwd+"'"); //处理原始密码出错的情况 if(str==null){ request.setAttribute("message","原始密码信息错误!") request.getRequestDispatcher("admin/system/editpwd.jsp").forward(request,response); //原始密码数据正确,进行修改密码,首先检测密码合法性 }else{ intflag=cBUp("updateadminsetpassword='"+newpwd+"'whereusername='"+username+"'"); if(flag==Constant.SUCCESS){ request.setAttribute("message","操作成功!"); request.getRequestDispatcher("admin/system/editpwd.jsp").forward(request,response);}else{ //密码合法性检测失败 request.setAttribute("message","操作失败!"); request.getRequestDispatcher("admin/system/editpwd.jsp").forward(request,response);4.1.3用户信息管理用户修改需填写详细信息,填写完和成后点击确定按钮将用户信息成功保存到系统数据库中。用户信息管理界面效果,如图4.4所示;图4.4用户信息管理模块界面如上图所示,当用户点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到用户将表单内容填写正确为止,才能成功修改数据。主要代码如下://用户修改注册资料//接受页面的输入,输出日志,然后将数据写入数据库elseif(method.equals("mupreg")){ Stringmember=(String)session.getAttribute("member"); Stringrealname=request.getParameter("realname"); Stringsex=request.getParameter("sex"); Stringage=request.getParameter("age"); Stringaddress=request.getParameter("address"); Stringemail=request.getParameter("email"); intflag=cBUp("updatemembersetrealname='"+realname+"',sex='"+sex+"',age='"+age+"',"+ "address='"+address+"',email='"+email+"'whereusername='"+member+"'");4.1.4用户订票管理主要功能就是用户对订票信息进行增删改查的操作,用户操作后,系统自动将订票信息存入数据库中。在这个模块的添加功能中,用户根据提示,输入相关信息,后台接收信息,判断输入数据是否合规,如果判断成功就写入数据库;在修改功能中,用户输入要修改的内容,后端接收信息并验证输入内容是否合规,如果判断成功就写入数据库;在删除功能中,用户点击删除,系统发出提示,用户确认删除,则系统删除用户选中的信息。流程如图4.5所示;订票管理模块订票管理模块修改删除增加输入修改信息判断输入内容是否规范提交提示输入内容错误根据提示输入内容,判断输入内容是否规范提交刷新订票信息表提示输入内容不规范刷新订票信息表确认删除刷新订票信息表留在当前页NYNYNY图4.5用户订票信息管理流程图如图4.6所示,订票界面效果。图4.6用户订票界面主要代码如下://先使用SELECT语句查询相关票务信息是否有剩余,然后使用//INSERT语句写入数据库Stringstr=cBean.getString("selectidfromdpwherehbid='"+id+"'andsfz='"+sfz+"'");if(str==null){ Stringbh=cBean.getString("selectbhfromhbwhereid='"+id+"'"); Stringkjc=cBean.getString("selectkjcfromhbwhereid='"+id+"'"); Stringejc=cBean.getString("selectejcfromhbwhereid='"+id+"'"); Stringksj=cBean.getString("selectksjfromhbwhereid='"+id+"'"); Stringesj=cBean.getString("selectesjfromhbwhereid='"+id+"'"); Stringgs=cBean.getString("selectgsfromhbwhereid='"+id+"'"); Stringkj=cBean.getString("selectkjfromhbwhereid='"+id+"'"); intswzw=cBean.getCount("selectswzwfromhbwhereid='"+id+"'");Stringswpj=cBean.getString("selectswpjfromhbwhereid='"+id+"'");intjjzw=cBean.getCount("selectjjzwfromhbwhereid='"+id+"'"); intjjpj=cBean.getCount("selectjjpjfromhbwhereid='"+id+"'"); Stringtj=cBean.getString("selecttjfromhbwhereid='"+id+"'"); Stringddh=newSimpleDateFormat("yyyyMMddHHmmssSSS").format(Calendar.getInstance().getTime());//查询相关数据intsycdp=cBean.getCount("selectcount(*)fromdpwherehbid='"+id+"'andlx='商务舱座位'andtp='未退票'andgq='未改签'"); intjjcdp=cBean.getCount("selectcount(*)fromdpwherehbid='"+id+"'andlx='经济舱座位'andtp='未退票'andgq='未改签'");intsycyp=swzw-sycdp; intjjcyp=jjzw-jjcdp; if(lx.equals("商务舱座位")){ if(sycyp>=1){ //运用INSERT语句插入相关数据 intflag=cBUp("insertintodp(bh,kjc,ejc,ksj,esj,gs,kj,pj,tj,lx,xm,sfz,dh,member,sj,hbid,ddh)"+ "values('"+bh+"','"+kjc+"','"+ejc+"','"+ksj+"','"+esj+"','"+gs+"','"+kj+"','"+swpj+"',"+"'"+tj+"','"+lx+"','"+xm+"','"+sfz+"','"+dh+"','"+member+"','"+date+"','"+id+"','"+ddh+"')");订票退改删界面效果,如图4.7所示;图4.7订票退改删界面如上图所示,用户可以对订票信息进行退,改,删操作。退票要在飞机起飞前,改票要在飞机起飞前且有相同航班,只可删除飞机起飞后的票。主要代码如下://根据不同的操作查询相关数据elseif(method.equals("gqdp")){Stringid=request.getParameter("id");Stringkjc=cBean.getString("selectkjcfromdpwhereid='"+id+"'");Stringejc=cBean.getString("selectejcfromdpwhereid='"+id+"'");Stringbh=cBean.getString("selectbhfromdpwhereid='"+id+"'");Stringstr=cBean.getString("selectbhfromhbwhereksj>'"+date2+"'andkjc='"+kjc+"'andejc='"+ejc+"'andbh!='"+bh+"'"); //判断航班信息 if(str==null){ request.setAttribute("message","没有相同路线的航班!"); request.getRequestDispatcher("member/dp/index.jsp").forward(request,response);}else{ request.setAttribute("id",id); request.getRequestDispatcher("member/dp/gq.jsp").forward(request,response);4.1.5用户留言首先用户输入相关内容,后台获取用户输入的信息,然后检测内容是否合规,如果合规就写入数据库,否则返回提示信息。实现留言信息流程如图4.8所示;图4.8留言信息流程图留言信息界面效果,如图4.9所示;图4.9留言界面如上图所示,当用户点击提交反馈按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,主要代码如下: //进入增加留言信息逻辑elseif(method.equals("addly")){ Stringmember=(String)session.getAttribute("member"); Stringnr=request.getParameter("nr"); //这里构建INSERT语句,写入数据库 intflag=cBUp("insertintoly(member,nr,sj)values('"+member+"','"+nr+"','"+date+"')");4.1.6信息查询用户首先选中查询的项目,然后选择查询条件,最后点击查询,后台首先检测查询是否存在,如果存在就执行查询并返回结果,查询信息的流程如图4.10所示:图4.10信息查询流程图如图4.11所示,为公司查询界面效果。图4.11公司查询界面如图4.12所示,为航班查询界面效果。图4.12航班查询界面如图4.13所示,为订票查询界面效果。图4.13订票查询界面如图4.11,4.12,4.13所示,当用户点击查询或提交按钮提交后,如果填写的信息格式正确而且必填项不为空,详细的查询结果就以分页的形式显示在页面上。并提示操作成功。否则,系统会提示错误信息,直到用户将表单内容填写正确为止,才能成功查询。主要代码如下://得到每页要显示的信息publicListgetMessage(intpage,Stringsql2,intrr){DBOdbo=newDBO();dbo.open();Listlist=newArrayList(); //执行查询语句rs=dbo.executeQuery(sql2);for(inti=0;i<(1)*EVERYPAGENUM;i++){rs.next();}for(intt=0;t<EVERYPAGENUM;t++){if(rs.next()){qq++;Listlist2=newArrayList();for(intcc=1;cc<=rr;cc++){ //添加结果集 list1.add(rs.getString(cc));} list.add(list2);}else{break;//减少空循环的时间}}dbo.close();returnlist;}4.2管理4.2.1航班信息管理实现航班流程如图4.14所示。在这个模块中的添加功能中,首先用户输入相关信息,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在修改功能中,用户输入相关数据,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在删除功能中,用户选择要删除的功能,系统提示确认删除,用户确认后,系统删除用户选择的信息。航班管理模块航班管理模块修改删除增加输入修改信息判断输入内容是否规范提交提示输入内容错误根据提示输入内容,判断输入内容是否规范提交刷新航班信息表提示输入内容不规范刷新航班信息表确认删除刷新航班信息表留在当前页NYNYNY图4.14航班信息管理流程图如图4.15所示,增加航班界面效果。图4.15增加航班界面如上图所示,管理员登录点击航班管理,点击添加航班信息,填写数据,当管理员点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到管理员将表单内容填写正确为止,才能成功添加数据。主要代码如下://增加航班信息逻辑elseif(method.equals("addhb")){ *Stringid="";Stringbh="";Stringkjc="";Stringejc="";Stringksj="";Stringesj="";Stringgs=""; Stringkj="";Stringswzw="";Stringswpj="";Stringjjzw="";Stringjjpj="";Stringtj=""; //获取数据 Stringbh=request.getParameter("bh"); Stringkjc=request.getParameter("kjc"); Stringejc=request.getParameter("ejc"); Stringksj=request.getParameter("ksj"); Stringesj=request.getParameter("esj"); Stringgs=request.getParameter("gs"); Stringkj=request.getParameter("kj"); Stringswzw=request.getParameter("swzw"); Stringswpj=request.getParameter("swpj"); Stringjjzw=request.getParameter("jjzw"); Stringjjpj=request.getParameter("jjpj"); Stringtj=request.getParameter("tj"); //使用SELECT查询相关数据 Stringstr=cBean.getString("selectidfromhbwherebh='"+bh+"'andksjlike'"+date+"'"); if(str==null){ //使用INSERT语句写入数据 intflag=cBUp("insertintohb(bh,kjc,ejc,ksj,esj,gs,kj,swzw,swpj,jjzw,jjpj,tj)"+ "values('"+bh+"','"+kjc+"','"+ejc+"','"+ksj+"','"+esj+"','"+gs+"','"+kj+"','"+swzw+"','"+swpj+"','"+jjzw+"','"+jjpj+"','"+tj+"')");修改和删除航班界面如图4.16所示:图4.16修改删除航班界面如上图所示,管理员点击修改按钮,填写数据,当管理员点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到管理员将表单内容填写正确为止,才能成功修改数据。删除航班直接点击删除即可。主要代码如下://修改航班信息逻辑elseif(method.equals("uphb")){ Stringid=request.getParameter("id"); Stringbh=request.getParameter("bh"); Stringkjc=request.getParameter("kjc"); Stringejc=request.getParameter("ejc"); Stringksj=request.getParameter("ksj"); Stringesj=request.getParameter("esj"); Stringgs=request.getParameter("gs"); Stringkj=request.getParameter("kj"); Stringswzw=request.getParameter("swzw"); Stringswpj=request.getParameter("swpj"); Stringjjzw=request.getParameter("jjzw"); Stringjjpj=request.getParameter("jjpj"); Stringtj=request.getParameter("tj"); Stringstr=cBean.getString("selectidfromhbwherebh='"+bh+"'andksjlike'"+date+"'"); if(str==null){ //使用UPDATA语句修改数据库中的数据 intflag=cBUp("updatehbsetbh='"+bh+"',kjc='"+kjc+"',ejc='"+ejc+"',ksj='"+ksj+"',esj='"+esj+"',gs='"+gs+"',"+"kj='"+kj+"',swzw='"+swzw+"',swpj='"+swpj+"',jjzw='"+jjzw+"',jjpj='"+jjpj+"',tj='"+tj+"'whereid='"+id+"'");4.2.2航空公司信息管理实现实现航空公司流程如图4.17所示。在这个模块中的添加功能中,首先用户输入相关信息,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在修改功能中,用户输入相关数据,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在删除功能中,用户选择要删除的功能,系统提示确认删除,用户确认后,系统删除用户选择的信息。图4.17航空公司信息管理流程图如图4.18所示,增加航空公司界面效果。图4.18增加航空公司界面如上图所示,管理员登录点击航空公司管理,点击增加航班信息,填写信息,当管理员点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到管理员将表单内容填写正确为止,才能成功添加数据。主要代码如下: //航空公司逻辑if(method.equals("addgs")){ Stringmc=request.getParameter("mc"); Stringdz=request.getParameter("dz"); Stringdh=request.getParameter("dh"); Stringnr=request.getParameter("content1"); if(nr==null)nr="暂无"; //使用SELECT语句查询相关数据 Stringstr=cBean.getString("selectidfromgswheremc='"+mc+"'");if(str==null){ //使用INSERT语句将数据插入数据库中 intflag=cBUp("insertintogs(mc,dz,dh,nr)values('"+mc+"','"+dz+"','"+dh+"','"+nr+"')");如图4.19所示,修改和删除航空公司界面效果图4.19修改和删除航空公司界面如上图所示,管理员点击修改,填写信息,当管理员点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到管理员将表单内容填写正确为止,才能成功修改数据。点击删除可直接删除航空公司信息。主要代码如下://修改航空公司逻辑elseif(method.equals("upgs")){ Stringid=request.getParameter("id"); Stringmc=request.getParameter("mc"); Stringdz=request.getParameter("dz"); Stringdh=request.getParameter("dh"); Stringnr=request.getParameter("content1"); if(nr==null)nr="暂无"; //使用SELECT语句查询相关数据 Stringstr=cBean.getString("selectidfromgswheremc='"+mc+"'andid!='"+id+"'"); //使用UPDATE语句修改相关数据 if(str==null){intflag=cBUp("updategssetmc='"+mc+"',dz='"+dz+"',dh='"+dh+"',nr='"+nr+"'whereid='"+id+"'");elseif(method.equals("delgs")){//删除航空公司 Stringid=request.getParameter("id"); intflag=cBUp("deletefromgswhereid='"+id+"'");4.2.3客机信息管理实现实现客机流程如图4.20所示。在这个模块中的添加功能中,首先用户输入相关信息,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在修改功能中,用户输入相关数据,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在删除功能中,用户选择要删除的功能,系统提示确认删除,用户确认后,系统删除用户选择的信息。图4.20客机信息管理流程图如图4.21所示,增加客机界面效果。图4.21增加客机界面如上图所示,填写数据。当管理员点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到管理员将表单内容填写正确为止,才能成功添加数据。主要代码如下: //客机信息逻辑elseif(method.equals("addfl")){ Stringmc=request.getParameter("mc"); //使用SELECT语句查询相关数据 Stringstr=cBean.getString("selectidfromflwheremc='"+mc+"'"); //使用INSERT语句写入相关数据 if(str==null){intflag=cBUp("insertintofl(mc)values('"+mc+"')");如图4.22所示,删除客机界面效果。图4.22删除客机界面主要代码如下://删除客机信息逻辑elseif(method.equals("delfl")){ Stringid=request.getParameter("id");//使用DELETE语句删除相关数据 intflag=cBUp("deletefromflwhereid='"+id+"'");4.2.4留言管理实现留言回复和删除流程如图4.23所示。在这个模块中的添加功能中,首先用户输入相关信息,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在修改功能中,用户输入相关数据,后台接收相关数据并判断是否合规,如果是,则写入数据库中;在删除功能中,用户选择要删除的功能,系统提示确认删除,用户确认后,系统删除用户选择的信息。图4.23留言回复和删除如图4.24所示,为留言删除界面效果。图4.24留言删除界面当管理员点击删除,会删除该条留言。主要代码如下://删除留言信息逻辑elseif(method.equals("delly")){ Stringid=request.getParameter("id"); //使用DELETE语句删除数据 intflag=cBUp("deletefromlywhereid='"+id+"'");如图4.25所示,为留言回复界面效果。图4.25回复留言界面当管理员点击回复进入如上图界面,填写信息,管理员点击确定按钮提交后,如果填写的信息格式正确而且必填项不为空,那么系统会将表单中的数据存入数据库的表中,并提示操作成功。否则,系统会提示错误信息,直到管理员将表单内容填写正确为止,才能成功回复留言。主要代码如下://回复留言信息逻辑elseif(method.equals("uply")){ Stringid=request.getParameter("id"); Stringhf=request.getParameter("hf"); //使用UPDATE语句修改相关字段 intflag=cBUp("updatelysethf='"+hf+"',hfsj='"+date+"'whereid='"+id+"'");4.2.5管理登录,管理密码修改,管理查询。因管理的登录,密码修改,查询,流程和用户的基本相同,不再占用篇幅详细赘述了。如图4.26管理的登录。图4.26管理登录界面如图4.27管理密码修改界面。图4.27管理密码修改界面如图4-28留言查询界面图4.28留言查询界面4.3本章小结本章通过系统登录实现,密码管理模块实现,用户信息管理模块实现,订票信息管理模块实现,留言信息管理模块实现,航班

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论