民航售票管理系统数据库设计与实现毕业设计论文_第1页
民航售票管理系统数据库设计与实现毕业设计论文_第2页
民航售票管理系统数据库设计与实现毕业设计论文_第3页
民航售票管理系统数据库设计与实现毕业设计论文_第4页
民航售票管理系统数据库设计与实现毕业设计论文_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

民航售票管理系统──数据库设计与实现摘 要:现在人们更多的使用飞机作为出行交通工具,因此机票票务市场也在快速发展。人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注。随着社会的不断进步,国内外航空事业的飞速发展,各航空公司对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求也进行开发的。本文针对航空公司的订票实际情况, 按照软件工程的结构化设计思想, 经过项目的可 行性研究和需求分析,总体设计,详细设计,以及编码实现和调试等步骤设计开发站网上订票系统。并运用数据流图和数据字典, E-R图和数据库逻辑结构,层次图, 系统流程图,以及程序流程图,对该系统的数据需求,数据库,系统软件结构,系统流 程,以及处理过程等进行了分析和设计。本系统前台主要使用 JSP作为开发语言,后台使用 SqlServer 作为数据库管理系统,开发环境是MyEclipse,服务器采用 tomcat,开发出的一个基于 Web技术的B/S结构的机票售票系统。关键词:机票售票 JSPB/S 结构Abstract:Nowmorepeopleusetheplaneastraveltransport,sotheticketmarketalsoinfastdevelopment.Peoplewanttoticketsalesapproachcanalsobeadjustedaccordingly,andhowcantheeconomic,convenientandtimelytobuywhattheyneedtoticketshowedgreatconcern.Withtheconstantprogressofthesociety,therapiddevelopmentofaviationindustryathomeandabroad,theairlineticketmanagementrequirementsareconstantlyimprove,thissystemisaimedatthegrowingdemandfordevelopmentalso.Thisarticleinviewoftheactualsituationoftheairlinetickets,accordingtothesoftwareengineeringstructureddesignthought,aftertheprojectcandostudyandneedsanalysis,overalldesign,detaileddesign,aswellascoderealizationanddebuggingandotherstepsdesignedanddevelopedticketsonlinesystemfirestation.Andtheuseofadataflowgraphanddatadictionary,e-rchartanddatabaselogicstructure,thehierarchicalgraph,thesystemflowdiagram,andprogramflowchart,thesystemofdatarequirements,database,softwaresystemstructure,systemflowprocess,aswellastheprocessofanalysisanddesign。ThissystemmainlyusedasareceptionistJSPlanguagedevelopment,useasabackgroundSqlServerdatabasemanagementsystem,thedevelopmentenvironmentisMyEclipse,serverusingtomcat,developedaWebtechnologybasedonB/Sstructureoftheticketcountersystem。Keywords:Ticketreservation;JSP;B/Sstructur第1页(共31页)引言1.1 课题背景随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断地完善更新航空售票系统,提高航空售票系统的工作效率。航空系统中,售票系统是很重要的一个环节,要想提高整个航空公司的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户可以得到更高更好的票务服务。1.2 目的和意义现在人们更多的使用飞机作为出行交通工具,因此机票票务市场也在快速发展。人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注。随着社会的不断进步,国内外航空事业的飞速发展,各航空公司对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求也进行开发的。1.3 开发工具及技术1.3.1 开发工具完成,下面对此次设计主要采用 MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用 JSP技术MyEclipse、Tomcat和SqlServer数据库进行简要介绍。1.3.2SqlServerSqlServer使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说, SqlServer提供的功能已经绰绰有余,而且由于 SqlServer是开放源码软件,因此可以大大降低总体拥有成本。1.3.3 JSPJSP技术使用Java编程语言编写类 XML的tags和scriptlets,来封装产生动态网页第2页(共31页)的处理逻辑。网页还能通过 tags和scriptlets访问存在于服务端的资源的应用逻辑。 JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web的应用程序的开发变得迅速和容易。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比 ASP/.net的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的 Jar文件就可以运行 Servlet/JSP,到由多台服务器进行集群和负载均衡, 到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。 Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明:request客户端请求,此请求会包含来自GET/POST请求的参数;response网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;pageJSP网页本身;exception针对错误网页,未捕捉的例外1.3.4JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在 HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之第3页(共31页)间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。1.3.5Struts2 简介Struts最早是作为ApacheJakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2002年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的Model-View-Controller〔MVC〕设计模式的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品。而Struts2则是Struts的升级版本。它的优点在于:Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程;②使用OGNL进行参数传递;③强大的拦截器;④易于测试;⑤易于扩展的插件机制;⑥ 全局结果与声明式异常。1.3.6Hibernate 简介Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用 JDBC的场合,既可以在 Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是, Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。第4页(共31页)Hibernate的核心接口一共有 2个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这2个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。1.4 软硬件需求硬件需求:CPU:Pentium以上计算机内存:512M以上软件需求:操作系统版本: WindowsXP/vista/Win7开发工具:MyEclipse6.0.1后台服务器: ApacheTomcat6.0开发语言:Java浏览器:IE6.0民航售票管理系统数据库设计需求分析2.1任务概述2.1.1系统目标本系统需要满足以下几个系统设计目标。实用性原则:真正为用户的实际工作服务,给民航机场售票业务带来方便。友好性原则:本民航机场售票管理系统的用户是各大机场的售票人员,所以系统操作上要求简单、方便、快捷,便于用户使用。2.1.2 用户特点本系统面向各大民航机场,因为在每年的寒假、暑假、重要的假期,会有大量的用户订购飞机票,所以会在节假日的开始与结束时,本系统会出现较大的负荷。其它时间符合比较均衡。第5页(共31页)2.2 系统的功能需求2.2.1系统角色功能需求本系统只有一种角色:管理员。管理员负责添加、删除客机信息、客户信息、航线信息、舱位信息以及票务信息。2.2.2功能模块本系统主要负责管理模块,各个子模块功能需求如下 :机票预订信息管理模块管理员可以添加机票预订信息,并可以对添加的机票预订信息进行添加、 查询、删除。客户信息管理模块管理员可以批量添加客户信息,并可以对添加的客户信息进行添加、删除。航线信息管理模块管理员可以批量添加航线信息,并可以对添加的航线信息进行添加、删除。客机信息管理模块管理员可以批量添加客机信息,并可以对添加的客机信息进行添加、删除。舱位信息管理模块管理员只可以修改飞机舱位信息。2.3 系统的性能分析为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如飞机信息属性添加、修改;客户信息属性添加、修改等模块也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。系统的易用性和易维护性系统是直接面对使用人员的,而有些使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,第6页(共31页)要提供足够的在线帮助,缩短用户对系统熟悉的过程。系统中涉及到的数据是高校实验室相当重要的信息,因此系统为不同角色的用户提供了方便的管理后台进行数据管理,特别为系统管理员提供了数据备份,日常安全管理,防止系统意外崩溃等功能。系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。严格保证操作人员不会因为速度问题而影响工作效率。2.4 系统的数据需求通过对系统功能需求的分析,可以初步确定该系统的基本数据需求。由各个功能模块可以进一步确定具体的数据需求,具体数据需求如下:机票预订模块数据需求该模块主要管理客户订票,需要表示的数据有:订票数据:应包含机票编号、机票价格客户数据:客户编号、客户姓名航线数据:航线编号、起始城市、终点城市、出发日期舱位数据:舱位类型编号客户信息管理模块该模块主要管理客户自身信息,需要表示的数据有:客户编号、客户姓名、客户性别、客户证件号、客户电话。航线信息管理模块该模块主要管理航线自身信息,需要表示的数据有:航线编号、起始城市、终点城市、出发时间、到达时间、飞机编号、经济舱价格、头等舱价格。客机信息管理模块该模块主要管理客机自身信息,需要表示的数据有:飞机编号、飞机类型、经济舱座位数、头等舱座位数。舱位信息管理模块该模块主要管理舱位自身信息,需要表示的数据有:舱位类型编号、舱位类型名称、是否有报刊、是否有饮料、是否有食物、是否可取消、是否可打折第7页(共31页)系统分析与设计3.1 数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。3.1.1数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的 DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。实体 属性 实体间关系(1)会员信息实体E-R图如图3.1所示:第8页(共31页)类型 真实姓名 地址密码登录名会员信息图3.1 会员信息实体 E-R图航班信息实体E-R图如图3.2所示航航航航 航航航航航航航航航航航航航航图3.2 航班信息实体 E-R图

姓别联系电话电子邮箱航航航航航(3)订单信息E-R图如图3.3所示第9页(共31页)航航航航航航航航 航航航航航航 航航航航航航航航图3.3 订单信息实体 E-R图(4)公告信息E-R图如图3.4所示内容标题公告时间公告信息图3.4 公告信息实体 E-R图(5)留言信息E-R图如图3.5所示内容标题留言时间留言信息图3.5 留言信息实体 E-R图(4)管理员信息E-R图如图3.6所示第10页(共31页)登录名 密码管理员信息图3.6 管理员信息实体 E-R图3.1.2 数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:每一个实体要转换成一个关系所有的主键必须定义非空(NOTNULL)对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,机票售票系统建立了以下逻辑数据结构,下面是各数据表的详细说明。会员信息表主要是记录了会员基本信息。表结构如表3.1所示。表3.1会员信息表(t_user)列名数据类型长度允许空是否主键说明user_idInt4否是编号user_nameVarchar50否否登录名user_pwVarchar50否否密码user_typeVarchar50否否会员类型user_realnameVarchar50否否真实姓名user_addressVarchar50否否住址user_sexVarchar50否否性别user_telVarchar50否否联系电话user_emailVarchar50否否邮箱user_qqVarchar20否否QQ(2)航班信息表主要是记录了航班的基本信息,表结构如图 3.2所示。表3.2航班信息表(t_checi)第11页(共31页)列名数据类型长度允许空是否主键说明idInt4否是编号luxianInt4否否路线名称piaoshijianvarchar50否否机票时间startshijianvarchar50否否起飞时间endshijianvarchar50否否到达时间piaojiavarchar50否否票价piaoshuvarchar50否否票数订单信息表主要是记录订单的基本信息,表结构如图3.3所示。表3.3订单信息表(t_yuding)列名数据类型长度允许空是否主键说明IdInt4否是编号user_idInt4否否会员IDcheci_idInt4否否航班IDyuding_shumuvarchar50否否预订数目yuding_jinevarchar50否否预订金额Zhifufangshivarchar50否否支付方式yuding_shijianvarchar50否否预订时间yuding_zhuantaivarchar50否否预订状态(4)公告信息表主要是记录了公告的基本信息,表结构如图 3.4所示。表3.4公告信息表(t_gonggao)列名数据类型长度允许空是否主键说明idint4否是编号titlevarchar50否否标题contentvarchar5000否否内容shijianvarchar50否否发布时间(5)留言信息表主要是记录了留言的基本信息,表结构如图 3.5所示。表3.5留言信息表(t_liuyan)列名数据类型长度允许空是否主键说明idint4否是编号titlevarchar50否否标题contentvarchar5000否否内容shijianvarchar50否否发布时间user_idVarchar50否否发布人第12页(共31页)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.6所示。表3.6管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdInt4否是编号userNameVarchar50否否用户名userPwVarchar50否否密码3.1.3 数据库的连接原理本系统采用Hibernate对数据库进行管理。Hibernate是一个开放源代码的对象关系映射框架,它对 JDBC进行了轻量级的对象封装,使 Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。 另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用 HibernateQL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。Hibernate技术本质上是一个提供数据库服务的中间件。它的架构如图 3.5所示:图3.5Hibernatre 架构图图3.5显示了 Hibernate的工作原理,它是利用数据库以及其他一些配置文件如Hibernate.properties,XMLMapping 等来为应用程序提供数据持久化服务的。第13页(共31页)Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC连接,并且自行管理事务,这种方式使用了 Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTAAPI都被抽象了,Hibernate会替你照管所有的细节。3.2 中文乱码问题处理在程序中经常会遇到中文乱码的情况,如果手动的在 servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器 SetCharacterEncodingFilter。在web.xml中配置:<filter><filter-name>SetCharacterEncodingFilter</filter-name><filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>gb2312</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>//*表示工程下所有的页面都会有此过滤器的处理</filter-mapping>对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化 init()方法中定义:publicvoidinit(FilterConfigfilterConfig)throwsServletException{this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");}第14页(共31页)在工具包util包中同样定义了DataFormate类来处理字符转换:publicstaticStringtoUni(StringgbStr){StringuniStr="";/*把字符串转换成uincode编码*/if(gbStr==null){gbStr="";}try{byte[]tempByte=gbStr.getBytes("GB2312");uniStr=newString(tempByte,"ISO8859_1");}catch(Exceptionex){}returnuniStr;}/*把字符串转换成Utf8编码*/publicstaticStringtoUtf8String(Strings){StringBuffersb=newStringBuffer();for(inti=0;i<s.length();i++){charc=s.charAt(i);if(c>=0&&c<=255){sb.append(c);}else{byte[]b;try{b=Character.toString(c).getBytes("utf-8");}catch(Exceptionex){第15页(共31页)System.out.println(ex);b=newbyte[0];}for(intj=0;j<b.length;j++){intk=b[j];if(k<0){k+=256;}sb.append("%"+Integer.toHexString(k).toUpperCase()); }}returnsb.toString(); }系统功能实现在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。4.1 系统登陆页面实现描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。程序运行效果图如图4.1所示:第16页(共31页)图4.1系统登陆页面设计在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:publicStringlogin(StringuserName,StringuserPw,intuserType){Stringresult="no";Stringsql="fromTAdminwhereuserName=?anduserPw=?";Object[]con={userName,userPw};ListadminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.size()==0){result="no";}else{第17页(共31页)WebContextctx=WebContextFactory.get();HttpSessionsession=ctx.getSession();TAdminadmin=(TAdmin)adminList.get(0);session.setAttribute("userType",0);session.setAttribute("admin",admin);result="yes";}returnresult;}4.2 管理员功能模块描述:系统主页面:左方页面展示了管理员可操作的六大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。程序运行效果图如图4.2所示:图4.2 管理员主页面在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:if(session.getAttribute("user")==null){第18页(共31页)out.print("<script>alert('请先登录!');window.open('../index.jsp','_self')</script>");}4.2.1管理员管理查询管理员信息描述:管理员点击左侧的菜单“管理员管理”,页面跳转到管理员管理界面,调用后台的action类查询出所有的管理员信息,并把这些信息封转到数据集合 List中,绑定到request对象,然后页面跳转到相应的 jsp,显示出管理员信息。(2)程序效果图如图 4.3所示:图4.3 查询管理员管理员管理关键代码:publicStringadminAdd(){TAdminadmin=newTAdmin();admin.setUserName(userName);admin.setUserPw(userPw);adminDAO.save(admin);this.setMessage("操作成功");this.setPath("adminMana.action");return"succeed";}publicStringadminMana(){ListadminList=adminDAO.findAll();第19页(共31页)Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("adminList",adminList);returnActionSupport.SUCCESS;}publicStringadminDel(){adminDAO.delete(adminDAO.findById(userId));this.setMessage("删除成功");this.setPath("adminMana.action");return"succeed";} 添加管理员描述:输入要添加管理员的信息以后,点击添加按钮添加管理员信息。程序效果图如图4.4所示:图4.4 添加管理员 管理员信息删除描述:先是点击管理员管理,页面跳转到管理员管理界面,浏览所有的管理员信息,点击要删除的管理员信息,弹出的确定对话框,即可删除该管理员信息。程序效果图如图4.5所示:第20页(共31页)图4.5 管理员信息删除4.2.2 会员信息管理 会员信息管理描述:管理员点击左侧的菜单“会员信息管理”,页面跳转到会员信息管理界面,调用后台的action类查询出所有的会员信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出会员信息。程序效果图如下图4.6所示图4.6 会员信息管理会员管理关键代码:publicStringuserMana(){ListuserList=userDAO.findAll();Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("userList",userList);returnActionSupport.SUCCESS;}publicStringuserDel(){第21页(共31页)userDAO.delete(userDAO.findById(userId));this.setMessage("删除成功");this.setPath("userMana.action");return"succeed";} 会员信息删除描述:先是点击会员管理,页面跳转到会员管理界面,浏览所有的会员信息,点击要删除的会员信息,弹出的确定对话框,即可删除该会员信息。程序效果图如图4.7所示:图4.7 会员信息删除4.2.3 航班信息管理 查询航班信息描述:管理员点击左侧的菜单“航班信息管理”,页面跳转到航班信息管理界面,调用后台的 action类查询出所有的航班信息,并把这些信息封转到数据集合 List中,绑定到request对象,然后页面跳转到相应的 jsp,显示出航班信息。(2)程序效果图如图 4.8所示:第22页(共31页)图4.8 查询航班信息航班信息管理关键代码:publicStringcheciAdd(){TChecicheci=newTCheci();checi.setLuxian(luxian);checi.setPiaoshijian(piaoshijian);checi.setStartshijian(startshijian);checi.setEndshijian(endshijian);checi.setPiaojia(piaojia);checi.setPiaoshu(piaoshu);checi.setDel("no");checiDAO.save(checi);this.setMessage("操作成功");this.setPath("checiMana.action");return"succeed";}publicStringcheciMana(){Stringsql="fromTCheciwheredel='no'orderbypiaoshijian";第23页(共31页)ListcheciList=checiDAO.getHibernateTemplate().find(sql);Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("checiList",checiList);returnActionSupport.SUCCESS;}publicStringcheciDel(){TChecicheci=checiDAO.findById(checiId);checi.setDel("yes");checiDAO.attachDirty(checi);this.setMessage("操作成功");this.setPath("checiMana.action");return"succeed";}publicStringcheciEdit(){TChecicheci=checiDAO.findById(checiId);checi.setLuxian(luxian);checi.setPiaoshijian(piaoshijian);checi.setStartshijian(startshijian);checi.setEndshijian(endshijian);checi.setPiaojia(piaojia);checi.setPiaoshu(piaoshu);checiDAO.attachDirty(checi);this.setMessage("操作成功");this.setPath("checiMana.action");第24页(共31页)return"succeed";} 添加航班信息描述:管理员输入航班相关正确信息后点击录入按钮,如果是没有输入完整的航班信息,都会给出相应的错误提示,不能录入成功。输入数据都通过 form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。程序效果图如图4.9所示:图4.9 添加航班信息 修改航班信息描述:先是点击航班信息管理,页面跳转到航班信息管理界面,浏览所有的航班信息,点击要修改的航班信息,跳转到航班信息修改页面修改该条航班信息。程序效果图如下图4.10所示第25页(共31页)图4.10 修改航班信息 删除航班信息描述:先是点击航班信息管理,页面跳转到航班信息管理界面,浏览所有的航班信息,点击要删除的航班信息,弹出的确定对话框,即可删除该航班信息。程序效果图如图4.11所示:图4.11 删除航班信息4.2.4 订单信息管理 订单信息管理描述:管理员点击左侧的菜单“订单信息管理”,页面跳转到订单信息管理界面,调用后台的action类查询出所有的订单信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出订单信息。第26页(共31页)程序效果图如下图4.12所示图4.12 订单信息管理订单管理关键代码:publicStringyudingMana(){Stringsql="fromTYudingwhereyudingZhuantai!=2";ListyudingList=yudingDAO.getHibernateTemplate().find(sql);Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("yudingList",yudingList);returnActionSupport.SUCCESS;}publicStringyudingDel(){TYudingyuding=yudingDAO.findById(yudingId);yuding.setYudingZhuantai(2);yudingDAO.attachDirty(yuding);this.setMessage("操作成功");this.setPath("yudingMana.action");return"succeed";}publicStringyudingShouli(){TYudingyuding=yudingDAO.findById(yudingId);yuding.setYudingZhuantai(1);第27页(共31页)yudingDAO.attachDirty(yuding);intuserId=yuding.getUserId();TUseruser=userDAO.findById(userId);user.setUserOne6(user.getUserOne6()+1);userDAO.attachDirty(user);this.setMessage("操作成功");this.setPath("yudingMana.action");return"succeed";} 订单信息删除描述:先是点击订单信息管理,页面跳转到订单信息界面,浏览所有的订单信息,点击要删除的订单信息,弹出的确定对话框,即可删除该订单信息。程序效果图如图4.13所示:图4.13 订单信息删除 订单信息受理描述:先是点击订单信息管理,页面跳转到订单信息界面,浏览所有的订单信息,点击要受理的订单信息,弹出的确定对话框,即可受理该订单信息。第28页(共31页)程序效果图如图4.14所示:图4.14 订单信息受理测试结果所有的功能已经实现;基本稳定;性能上达到了要求。结束语整个数据库课程设计过程中,使我的专业基础知识进一步的得到了提高,让我更深刻地认识了“数据库”、“SDK”等知识,虽然在课程设计过程中遇到了很多问题,但最终在同学和网络的帮助下基本完成了预订的目标,学到了平时很难学到的专业和实践知识。在开本系统过程中,我感受最深的就是如何让自己在较短的时间内掌握一个自己并不熟悉的事物,因为之前开发带有可视化界面的程序都是用的SDK编程方式(都是些小程序),所以接到数据库课设题目时候我还是想采用SDK编程来实现“民航机场售票管理系统”,经过查阅资料,SDK编程只有通过调用ODBCAPI才能与数据库建立连接,凭借着以前写SDK程序的经验,参考了ODBCAPIREFERENCE手册,在多次试验中,成功实现了与数据库“建立连接”、“操作数据库”等功能。本系统界面比较简单,因为自己的 SDK编程功力不足,以及对该系统的考虑不是很充分,导致了该管理系统功能比较单一,只是大体地实现了功能而已。比如像“列表控件”这种人机交互界面友好的控件,我并不懂怎么用 SDK来操作,所以就是用了列表框来实现。由于时间原因,设计出来的系统在各方面肯定还存在很多不足和需要改进的地方,第29页(共31页)但是我相信随着实践操作的增加而不断改进和优化,总体来说,做完一个数据库的收获不仅仅是技术上的,对事情的宏观控制也有了更加深入的看法。致 谢本次设计历时三个月。在本次毕业设计中,能够基本顺利的完成任务,是与陈老师的耐心指导分不开的。付老师无论是在毕业设计过程中,还是在论文完成中都给予了我极大的帮助。同时,付老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他勤奋严谨的教学态度也给我留下了极为深刻的印象。我从老师身上学到了很多东西。在理论上还是在实践中,我能力都得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此,特向付老师表示由衷的感谢。通过这次毕业设计的整个开发过程,我系统开发过程从需求分析到具体功能实现,再到最终测试和维护的理解有了很大的进步,让我对系统开发有了更深层次的认识。现在我的动手能力和独立解决问题的能力也得到了很大的锻炼和提高,这是这次毕业设计最好的收获。最后,在整个系统开发过程中,我身边的同学和朋友给了我很多的建议,让我很快的确定了系统的业务逻辑。在次我衷心的向他们表示感谢。参考文献卢湘江,李向荣,晏子.《MySQL高级配置和管理》.北京:清华大学出版社,2001.9萨师煊,王珊.《数据库系统概论》.北京:高等教育出版社,2002张海藩.《软件工程》.北京:人民邮电出版社,2006基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用第30页(共31页)基于单片机的光纤光栅解调仪的研制气压式

温馨提示

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

评论

0/150

提交评论