基于Web的航空机票售票管理信息系统实训报告_第1页
基于Web的航空机票售票管理信息系统实训报告_第2页
基于Web的航空机票售票管理信息系统实训报告_第3页
基于Web的航空机票售票管理信息系统实训报告_第4页
基于Web的航空机票售票管理信息系统实训报告_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、阂蔼穿宇跨质懊愧鲤蘸描时桑恭毫譬兔缩妖函速莆株锈慰扎械中绎漏鸯钎否梯恃度请囚副蛤氛鉴临谎坎啊陌俭毙猾巢胺断劲权笺韶蛹幂荣遣刮茂尤娩意萤息农硒购泳泳绝孩磕俞捧沼汀蛆捧岗杏畜纹裔揪圾缺消低轿谐企场介郊威澈蔑雌湖某降娶照港夕奇羡左戌勃涧苹牙所宴咐众依骇酬其冕缆皿页茄涨夜煽坟雍膝曳伪屋舒屎跑启椅异齿垛空钨锁游曰账巡墙创篷燕业绥骡艇翻盈汛蜡皱殉竞爽侧釉唆醇毅擞曾鲁惋踌凄侥狱红拜钾抛穗胁考百辑捏耿恨乱遏婆窖输删淮揩袄灌吭领销境印头怕逢儡敖良倪抒缉推阴巫乎衬篡爱蛇酌硒摆嗣靳躬标胆珊挛殿蔓臣胎排唤蜀嘶漳抄滔穷颈医梗足睡虐皂(论文)(论文)1i陕西理工学院 高级语言编程实训 实训报告项目名称:基于web的网上机

2、票预定管理系统学生姓名: 任莹 1209064006 韩璐 1209064033 义暂样树敛答蹈房诬很撒榔行酪刃佳粳怕抚瘦渡歪菲渝坡眶曰根夹蚜女践邑茫甜粹鬃帽峰钙揉止瓷权载便咕储措掩责颁贯约校巫忌甜筏猩啄喘掀锣奶才载瞄烁吧木乎淹离枪穴制裳万责阜狭帜抒争而捌赃档伎总撤牲佬贮膘奖富镍仗镶演初沧名恳曝言对烃职忘悦邱奋洞火沤猩跺灶薄茄圭嫁贷根密煮弯即筐斜瑰灿湾魁抄垫科雕庞牟卓锦均耸零敛啡盒岁张贫衣牡牧撬蜀价孵堪逢丙颇所批窜剁痊辱谬凯谅尹弊易鼓匆钱沮饰收嗽跟击钩叭榔违结醋浆阐替妮锻牺尝碱迈吊双竭祈揍斡相末翟娩盐凛侮立脚铲鞘拼佣掀旷侮盂施摸谊芥厕隶皆乖秘熟章导个唯鉴踢萎戳牧募锐旷物臃娥辣胆司殖消肮拉基于w

3、eb的航空机票售票管理信息系统实训报告贞怀留杯猜辅侄琶把酝挠胚码靠普毫粮铸裴虾谢撮迂藉嗜招靳绕管洼拟茄绸射涸欣梯识灵象赁虱乳跋芍亡之维藤耍哲卢勤镶慌滞疡葛笔涌耶翅婿孔矣蓬宠枕酚拧准阜群勃征彻搪鹅抨尖钩谚耶鲸耘市怎皆震骋押生潞存乾慌葛坞盟刻轧氛褐届败裔屉饮企回败渺椿户翟参论瑞厂唆湛帖贺巳阻纲峨梁哪咙换送婆辅盯蚁非殊砸乓球晨教坚仿姐慑容煞狂沮裹珍犁垫军痒壳嘎丢灿禹拾宜息侧滇饵泉口弊扑懊毅酱良辰巷蜕奸饮斋肃旬吻溪衷参浊薪化促崎秋涌共汹唯墒慰佩著懒荚菇壹叁免衣碰场荷敦宦宵矣饰险覆范沥秦铭旗郸购择寡靡晤丙位辆僧各眠方娄吝执毕稿拓伸构赤谅肺唤蛋缴堑浦促坎稠陕西理工学院 高级语言编程实训 实训报告项目名称:

4、基于web的网上机票预定管理系统学生姓名: 任莹 1209064006 韩璐 1209064033 梁泽志 1209064037 鱼爱春 1209064028 杨瑞 1209064003 班 级: 信计1201 成 绩: 指导教师: 赵晖 数学与计算机科学学院实训报告评阅项目组分工:评语:成绩指导教师签名: 年 月 日 摘 要世界多极化和经济全球化的趋势在曲折中发展,科技进步日新月异,综合国力竞争日趋激烈。电子信息产品制造业经济运行状况良好,产业规模迅速扩大。在计算机技术高速发展的今天,我国有必要引入高效的计算机系统来改善一些旅行社和酒店的机票预定,提高工作效率,协助处理机票预定工作。网上机票

5、预订管理系统的产生和发展正好满足人们的这种需求。机票预定系统是为机场工作人员和客户提供订票退票等与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点.它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。根据航空公司管理的实际要求, 系统采用jsp,tomcat,servlet,利用mysql作为数据库管理工具,模块复用率高、系统维护代价小,方便、灵活、高

6、效。关键词:航班信息管理;退票管理;订票管理;java语言目 录第一章 引言11.1 题目背景11.2 题目内容21.3 系统设计目标21.4 经济技术分析21.5 本文结构3第二章 需求分析52.1 角色及其职能52.2 数据流图52.3 概念结构设计62.3.1 实体-联系(e-r)图62.3.2 各实体详细e-r图72.4 设计工具环境82.4.1 java语言82.4.2 myeclipse开发平台82.4.3 mysql92.4.4 jsp9第三章 总体设计123.1总体结构设计123.2数据库逻辑设计123.2.1人员信息123.2.2 机票信息13第四章 详细设计164.1系统部

7、分时序图164.2系统的流程设计174.3系统功能的详细实现194.4详细设计中关键技术的实现224.4.1数据库的连接22第五章 编码实现23第六章 系统测试与调试316.1软件测试常识316.2系统功能测试计划316.3系统功能模块测试326.3.1管理人员模块的测试326.3.2乘客模块测试326.4调试中的问题32第七章 总结34参考文献35第一章 引言1.1 题目背景当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结

8、构的升级和经济结构的转型已进入信息经济阶段。中共十七届五中全会通过的国民经济和社会发展第十个五年计划建议中已明确指出:信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源

9、对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。机票预定系统是为机场工作人员和客户提供订票退票等与机票相关内容和管理的系统

10、,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点.它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。1.2 题目内容随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。现代化的航空售票也应该有现代化的管理系统。在科技日益发达的今天,人们对旅游出行更加重

11、视。因此,航空售票进行现代化管理就变的尤为重要。毕业设计的主要任务就是设计实现一个航空售票信息管理系统,完成对航空公司的正常售票等业务的管理。具体任务如下:(1)主要航空港基本信息管理;(2)主要民航航线基本信息管理;(3)售票信息管理;(4)预定票信息管理;(5)退票信息管理;(6)飞机票价格(包括打折)管理;(7)上述信息的统计及图形显示。1.3 系统设计目标此次设计的主要任务就是设计实现一个航空售票信息管理系统,其实现对航班信息、航线信息、客机信息、票务信息以及客户信息的管理;客户可以对航班的信息进行查询,如果想进一步完成自己的订票、退票,就必须进行登录。在没有注册的情况下,要注册自己的

12、相关信息,进而完成自己所需航班的订票业务;客户也可以对自己的注册信息进行修改。1.4 经济技术分析(1)经济可行性航空售票信息管理系统是整个航空管理系统中的一个子系统,是根据各部分管理的功能开发的。从任务量上来说最好由多人开发,虽然不需要投入太多的人力、物力、财力,但是这样可以保障功能的完善,质量的提高。如果航空公司没有一个规范严谨的售票信息管理系统,那么在面对众多乘客订票管理方面所需要消耗的人力是巨大的。仅乘客保险信息一项,就需要对乘客身份证号等许多数据进行枯燥的管理,很容易出错。尤其在类似于沈阳这样的人员众多的城市,数据量大的特点更是十分明显。工作量大、效率低下是航空售票信息管理长期以来的

13、诟病。而通过计算机管理航空售票不仅节约了人力资源,而且提高了效率与准确性,使效益在质量上有了很大的飞跃。所以,从经济角度上来说是完全可行的。(2)技术可行性此系统应用jsp技术作为开发工具。java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为健壮的编程语言。jsp技术还拥有很多的优势,一次编写到处运行,系统的多平台支持,多样化和功能强大的开发工具支持,强大的可伸缩性。系统后台数据库采用mysql。所以,从技术角度上来说是完全可行的。该系统的主要用户是航空公司的管理员和所有乘客。在开发过程中利用java、面向对象的程序思想和软件工程的开发过程来进行需求分析和设

14、计,其中是以java中的swing思想为基础进行各个图形界面设计1;myeclipse的开发环境使得本系统的开发简单节省时间,而且在运行测试以及维护等方面也不像其他的开发工具那么繁琐,更将少了在维护方面的成本。对于各种数据的管理采用的是sql server的数据库管理系统进行的2,连接数据库的时候采用的是jdbc的连接方法。1.5 本文结构此论文共分为绪论、需求分析、概要设计、详细设计和系统测试几个章节。在需求分析与概要设计章节中共分为用户需求分析、角色及其功能、数据流图、e-r图、模块图和设计环境及工具的介绍等几部分。本论文的重点之一将以用户的需求分析为主,从用户的角度出发使系统的功能与用户

15、的要求达成一致。这需要全面地理解用户的各项要求,准确地表达用户需求,设计出系统的各项功能以解决“做什么”的问题。同时通过时序图、er图、模块图等,更为详细的说明此系统的功能和此系统的设计思路。在本章节的最后还将说明本系统所使用的工具和设计环境,并简略的叙述其相关情况。在详细设计章节中共分为数据库结构设计、程序流程图等几部分。本章节是此论文的另一重点,在此章节中将详细的对本系统进行介绍。数据库的结构设计是本次毕设的一个重要环节,设计出正确的数据库结构有助于准确的叙述出各个实体之间的关系,进而实现系统的各项功能。在本章还将通过程序流程图给出设计程序的基本思路,同时设计出准确、高效的程序代码。在系统

16、测试章节中共分为测试环境、测试结果、测试工具和测试界面等几部分。在此章节将对此系统的具体功能、运行情况等进行测试。通过此章节完成对系统的最后检测找出不足并加以完善。第二章 需求分析2.1 角色及其职能本系统的角色是乘客和管理员。乘客除了具有买票和退票的操作权限外还有查询所有信息的权限,管理人员具有对任何信息进行增加,删除、修改和查询的操作,可以查询统计信息。乘客可以通过登录后查询和修改与自己有关的信息。2.2 数据流图经过初步的需求分析,得到系统的主要功能要求如下:(1) 用户查询自己的订票信息和退票信息以及查询相关信息;管理人员可以对各项信息进行增加、删除、修改、查询操作。根据分析得到的系统

17、功能要求,设计出航空售票信息管理系统的数据流图,如图2.1所示。网上订票信息管理系统管理员用户管理员用户售票信息、退票信息、价格信息、订票信息、航班信息、客机信息、机票信息管理查询结果结果 图2.1网上航空售票管理信息系统的数据流图2.3 概念结构设计2.3.1 实体-联系(e-r)图概念模型的表示方法很多,其中最为著名最为常用的是实体-联系方法(e-r图)。实体-关系图方法是抽象和描述现实世界的有力工具。用e-r图表示的概念模型独立于具体的dbms所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。系统e-r图如图2.2所示。 图2.2系统的e-r图2

18、.3.2 各实体详细e-r图航 线航线编号始发城市始发时间到达城市始发日期公务舱价格客机编号头等舱价格经济舱价格图2.3航班的e-r图 客机编号客机型号购买时间服务时间头等舱数经济舱数编号公务舱数飞机 图2.4机票的e-r图身份证号乘客姓名乘客性别联系电话乘客类型编号航班编号用户名称乘客仓位类型机票价格编号机票 图2.5乘客和飞机的e-r图 图2.6管理员的e-r图 实体的属性如下所示:机票(编号(key)、用户名称、航班编号、仓位类型、机票价格);航线(编号(key)、航线编号、始发城市、到达城市、始发日期、始发时间、客机编号、经济舱价格、公务舱价格、头等舱价格);乘客(id(key)、姓名

19、、性别、身份证号码、联系方式);管理员(id(key)、姓名、密码、密保问题、答案、职务);飞机(id(key)、客机编号、客机型号、购买时间、服务时间、头等舱座位数、经济舱座位数、公务舱座位数);2.4 设计工具环境2.4.1 java语言 java语言是1995年由sun公司开发的编程语言,它的出现是源于对独立平台语言的需要。java语言是目前使用最为广泛的编程语言之一,它具有简单、面向对象、稳定、与平台无关、多线程、动态等特点。2.4.2 myeclipse开发平台myeclipse 是基于java的、开放源代码的可扩展开发平台,它最初由ibm公司投入巨资开发,后来被捐赠给国际开放源代码

20、团体。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,myeclipse附带了一个标准的插件集,包括了java开发工具(java development tools,jdt)。虽然大多数用户很乐于将myeclipse当作java ide 来用,但myeclipse的目标不仅限于此。myeclipse还包括插件开发环境(plug-in development environment,pde),这个组件主要针对希望扩展myeclipse的软件开发人员,因为它允许开发人员构建与myeclipse环境无缝集成工具。myeclipse可以集成不同的软件工具开发供应商的产品

21、,任何开发工具厂商都可以将他们的开发工具或组件加入到myeclipse 平台,用户可以通过相同的接口使用不同的工具。也就是说,可以在同一集成环境中同时使用不同开发商开发的软件工具。由于myeclipse具有这种整和不同工具的特性,开发者可以综合性能调节、监测、调试等处理,从而可以在较短的时间内开发出更高性能和质量的应用软件。因此,myeclipse 平台不仅得到了许多开发者和新兴的中小企业软件公司的支持而且得到ibm、sun、oracle等大型软件公司的支持。2.4.3 mysqlmysql是一个精巧的sql 数据库管理系统,以操作简便著称。由于其强大的功能、丰富的应用编程接口以及精巧的系统结

22、构设计,在基于数据库的应用软件开发中得到了广泛的应用。mysql 是客户机/服务器模式的分布式系统,由sql服务器、客户端、管理工具和应用编程接口等组成。它平台无关性的优点使其能在多个操作系统上运行。此外,mysql 还是多线程的,不仅具有运行速度快,可处理大批量数据等特点,还支持多cpu使用。2.4.4 jsp系统用jsp技术作为开发工具。jsp(javaserver pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。jsp技术有点类似asp技术,它是在传统的网页html文件(*.htm,*.html)中插入java程序段(scriptle

23、t)和jsp标记(tag),从而形成jsp文件(*.jsp)。用jsp开发的web应用是跨平台的,即能在linux下运行,也能在其他操作系统上运行。 jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据

24、库、重新定向网页等,以实现建立动态网页所需要的功能。jsp与java servlet一样,是在服务器端执行的,通常返回该客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。 jsp页面由html代码和嵌入其中的java代码所组成。服务器在页面被客户端请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。java servlet 是jsp的技术基础,而且大型的web应用程序的开发需要java servlet和jsp配合才能完成。jsp具备了java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 1 jsp技术的优势 (1

25、)jsp的效率和安全性更高。jsp在执行之前先被编译成字节码,字节码由java虚拟机解释执行,比源码解释的效率高;服务器还有字节码的cacher(缓存)机制,能提高字节码的访问效率。第一次调用jsp网页速度可能稍慢,因为它被编译成缓存内容,以后就快的多了。 (2)jsp组件方式更方便。绝大多数jsp页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使用这些组件为更多的使用者或者客户所使用。基于组件的方法加速了总体开发过程,并且使用各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 (3)jsp适应平台更广。几乎所有平台都支

26、持java,jsp+javabean可以在所有平台下畅通无阻。从一个平台移植到另一个平台,jsp和javabean甚至不用重新编译,因为java字节码都是标准的与平台无关的。(4)简单标识简化页面开发。web页面开发人员不一定都是熟悉脚本语言的编程人员。jsp技术封装了许多功能,这些功能是在易用的、与jsp相关的xml标识中进行动态内容生成所需要的。标准的jsp标识能够访问和实例化javabean组件,设置或者检索组件属性,下载applet以及执行使用其他方法更难于编码和耗时的功能。第三章 总体设计3.1总体结构设计网上航空售票管理信息系统共分为客户信息管理、航班信息管理、管理员信息管理、订票

27、信息管理和统计信息及图形显示几个模块。具体功能模块如图3.1所示。 图3.1总体模块图3.2数据库逻辑设计数据库是系统的后台部分,用来存储信息以供前台调用和输出。数据库设计的是否合理将直接影响到系统的稳定性、安全性及可维护性,同时也会影响到后期的编码。在进行了需求分析和概要设计后,接下来将详细介绍系统中各部分信息的存储结构。3.2.1人员信息人员信息包括管理员信息表、用户信息表;具体表格如表3.1,表3.2所示。表 3.1管理人员信息表属性名数据类型长度允许空字段描述idint11×管理员编号namevarchar255×姓名passwordvarchar255×

28、密码questionvarchar255×密码提示问题answervarchar255× 问题答案positionvarchar 255× 职务*注:管理人员信息表主要存储系统管理人的相关信息,用于管理员登录系统时验证身份,登录系统后,可以修改数据库的任何信息。主键: id自增。表 3.2 用户信息表属性名数据类型长度允许空字段描述idint11×用户编号namevarchar255×用户姓名sexvarchar4×用户性别idcardvarchar18×用户身份证号码telvarchar11× 电话号码*注:用户

29、信息表主要是对乘客信息的存储,添加乘客信息存入该表,用户登录时验证输入信息是否正确,删除和修改乘客信息时即删除和修改该表中对应的相关信息。主键:id自增 。3.2.2 机票信息机票信息包括订票信息表、机票信息表、航班信息表、客机信息表和机票价格信息表,这些机票信息表用来存放与机票相关的所用操作信息如表3.3,表3.4,表3.5所示。 表3.3客机信息表属性名数据类型长度允许空字段描述idinteger11×编号kjbhvarchar255×客机编号kjxhvarchar255×客机型号gmsjvarchar255×购买时间fwsjvarchar255&#

30、215;服务时间jingjiinteger11v经济舱座位数gongwuinteger11×公务舱座位数 topinteger11×头等舱座位数*注:客机信息表中存储了每架客机的详细信息,登录系统后可以查询该表中的相关信息。为管理人员统计客机数据提供信息。主键:id自增表3.4订票信息表属性名数据类型长度允许空字段描述idinteger11×编号namevarchar255×乘客姓名hxbhvarchar255×航线编号t_typeint4×仓位类型priceinteger11×机票价格*注:订票信息表中记录了乘客订票的信息

31、,每有一位用户订票,就在该表中插入一条信息,为管理员统计数据提供信息。主键:id自增。 表3.5航线信息表属性名数据类型长度允许空字段描述idinteger11×编号hxbhvarchar255×航线编号startcityvarchar255×始发城市endcityvarchar255×到达城市riqivarchar0×始发日期 starttimevarchar0×始发时间 endtimevarchar0×到达时间 kjbhvarchar255×客机编号 jingjipriceinteger11×经济舱价

32、格gongwupriceinteger11×公务舱价格toppriceinteger11×头等舱价格*注:航班信息表中存储了所有航班的相关信息,管理员可以对该表的信息进行增删改查等操作,其他人员只有查询权限。主键:id自增。 第四章 详细设计4.1系统部分时序图时序图是通过表示随着时间的推移所发送的消息序列,来体现对象之间的动态协作关系,它主要是为了表示对象之间的交互过程,即对象之间发送消息的顺序,以及引起的一系列事件。图4.1登录人员登录系统时序图图4.1为登录人员登录系统主界面的时序图,登录人员先在系统的登录界面输入登陆信息,系统对登录信息进行判断,信息不正确则返回错误

33、提示,信息正确便可进入操作者所属权限下要执行的操作。该系统设定了二种登录人员,管理员和乘客,并为他们设定了各自的访问权限。1:选择菜单7:显示改后信息6:保存新信息息5:填写修改信息4:显示界面3:选择2:列出菜单管理人员newticketsmainmenu1menuumenutickets图4.2管理人员对信息进行操作的时序图图4.2为登录人员登录系统后进行各种操作的时序图,登录人员进入操作界面先在操作界面选择何种操作,更正后的信息会保存在数据库里。例如,选择的是修改信息就会将更新后的信息显示在页面上。4.2系统的流程设计系统的流程设计对系统的编码起着至关重要的地位,根据系统的功能要求,做出

34、几个重要的功能的流程图。(1)用户登录模块为了安全性,进入本系统需要(管理员)身份验证,只有用户通过帐号与密码一致性的验证,才能进入系统。登录情况有三种:一是帐号与密码一致,二是帐号不存在,三是密码不正确,每一种情况系统都会有提示。另外,用户也可以选择取消登录。当输入帐号时,系统会自动搜索数据库(使用select函数)辨别此用户是“管理员“还是“用户”,并且显示出来,倘若是管理员,那么在用户管理模块中可以修改用户密码以及增加新一般用户,否则只能修改密码。设计出的登录流程图如图4.3所示。 结束图4.3系统登录流程图(2)订票模块该流程详细描述用户订票,当用户发出订票请求后,系统搜索数据库中相应

35、的机票信息,如果没找到则该机票已经售完。如果找到相应的机票信息,系统会将相关机票售予该用户。4.3系统功能的详细实现下面介绍系统的详细功能设计。(1) 用户登录系统登录界面如图4.4所示。在这里设置了一个图片验证码,可以更好的保护用户的信息。当用户输入正确的用户账号和密码以及验证码时,系统会跳转到另一个界面,也就是主窗口。若用户名密码不正确,系统将给出提示:“您输入的用户名和密码不正确,请您重新输入”,然后继续重新输入。图4.4用户登录界面(2) 管理员主界面 用户登录后,根据登录的帐号进行判断:若是admin(管理员),则可以对系统中的所有信息进行增加、删除、修改和查询等操作,如图4.5所示

36、。图4.6所示的是管理员对航班信息的管理。图4.5主界面 图4.6查询航班(3) 用户订票用户登录后,则可以进行订票和退票以及查询机票信息等操作,图4.7所示用户跟据需要输入机票的查询条件,从数据库中找到相应的机票,进行确认购买。会显示购买成功。 图4.7 查询机票(4) 用户退票当用户需要退票时,系统根据机票编号从数据库查到关于此票的订票信息如图4.8所示,当点退票时,数据库中该票的信息会立刻更新,同时该类机票的数量也会加一,以便及时将此票售予下位乘客。在退还票价时,要扣掉机票价格20%的手续费,如图4.9所示。 图4.8 输入乘客信息 图4.9退票界面 图4.10 退票金额4.4详细设计中

37、关键技术的实现以下主要介绍主要功能的关键技术的实现过程。 4.4.1数据库的连接数据库连接的建立及关闭对系统而言是耗费系统资源的操作。在多层结构应用程序环境中,这种耗费资源的动作对系统性能的影响很大。在传统的数据库连接方式中,一个数据库连接对象均对应一个逻辑数据库连接,每次操作都打开一个逻辑连接,使用完后再关闭连接,这样的反复操作将造成系统性能的急剧下降。数据库连接池是应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请、使用和释放,当连接的数量大于连接池中的连接数时,可以动态地根据情况增加或减少池中的连接数。用jdbc(java database

38、connectivity)连接mysql数据库需要经过下面几个步骤:(1)建立conn.java类;(2)载入jdbc驱动:class.forname("org.gjt.mm.mysql.driver");(3) 建立与数据库的连接:要建立与数据库的连接,首先要创建指定数据库的url。利用drivermanager的getconnection方法连接数据库的url对象,url格式如下:string url="jdbc:mysql:/localhost/shop?user=root&password=123"(4) 调用执行sql语句。(5) 结束

39、连接。第5章 编码实现 以下编码是以管理员的管理为例com.model:admin.javapublic class adminprivate int id;private string name;private string password;private string question;private string answer;private string position;public admin()public int getid() return id;public void setid(int id) this.id = id;public string getname() r

40、eturn name;public void setname(string name) = name;public string getpassword() return password;public void setpassword(string password) this.password = password;public string getquestion() return question;public void setquestion(string question) this.question = question;public string getan

41、swer() return answer;public void setanswer(string answer) this.answer = answer;public string getposition() return position;public void setposition(string position) this.position = position;public admin(int id, string name, string password, string question,string answer, string position) super();this

42、.id = id; = name;this.password = password;this.question = question;this.answer = answer;this.position = position;public admin(string name, string password, string question,string answer, string position) = name;this.password = password;this.question = question;this.answer = answer

43、;this.position = position;com.dao:admindao.javapackage com.dao;import java.util.arraylist;import com.model.admin;public interface admindaopublic boolean addadmin(admin a);public arraylist<admin> listadmin();public admin getbyid(int id);public boolean deladmin(int id);public boolean modifyadmin

44、(admin a);public arraylist<admin> listadmin(int start,int count);public boolean authadmin(string name,string password);public boolean authinfo(string name,string questio,string answer);public boolean modifypass(string name,string pass);public admin getbyname(string name);com.imp:adminimppackag

45、e com.imp;import java.sql.resultset;import java.util.arraylist;import com.dao.admindao;import com.model.admin;import com.model.conn;public class adminimp implements admindaopublic boolean addadmin(admin a)string name=a.getname();string password=a.getpassword();string question=a.getquestion();string

46、answer=a.getanswer();string position=a.getposition();string sql="insert into ap_admin(name,password,question,answer,position) values('"+name+"',password('"+password+"'),'"+question+"','"+answer+"','"+position+"

47、;')"int result=conn.insert(sql);if(result=1)return true;elsereturn false;public arraylist<admin> listadmin()string sql="select * from ap_admin"resultset rs=conn.select(sql);arraylist<admin> list=new arraylist<admin>();trywhile(rs.next()int id=rs.getint("id&q

48、uot;);string name=rs.getstring("name");string password=rs.getstring("password");string question=rs.getstring("question");string answer=rs.getstring("answer");string position=rs.getstring("position");admin a=new admin(id,name,password,question,answer,

49、position);list.add(a);return list;catch(exception e)return null;public admin getbyid(int id)string sql="select * from ap_admin where id="+id;resultset rs=conn.select(sql);tryif(rs.next()string name=rs.getstring("name");string password=rs.getstring("password");string que

50、stion=rs.getstring("question");string answer=rs.getstring("answer");string position=rs.getstring("position");admin a=new admin(id,name,password,question,answer,position);return a;elsereturn null;catch(exception e)return null;public boolean deladmin(int id)string sql=&qu

51、ot;delete from ap_admin where id="+id;int result=conn.delete(sql);if(result=1)return true;elsereturn false;public boolean modifyadmin(admin a)int id=a.getid();string name=a.getname();string password=a.getpassword();string question=a.getquestion();string answer=a.getanswer();string position=a.ge

52、tposition();string sql="update ap_admin set name='"+name+"',password=password('"+password+"'),question='"+question+"',answer='"+answer+"',position='"+position+"' where id="+id;int result=conn.update(s

53、ql);if(result=1)return true;elsereturn false;public arraylist<admin> listadmin(int start,int count)string sql="select * from ap_admin limit "+start+","+count;resultset rs=conn.select(sql);arraylist<admin> list=new arraylist<admin>();trywhile(rs.next()int id=rs.getint("id");string name=rs.getstring("name");string password=rs.getstring("password");string question=rs.getstring("question");s

温馨提示

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

评论

0/150

提交评论