JSP课程设计报告航空售票系统_第1页
JSP课程设计报告航空售票系统_第2页
JSP课程设计报告航空售票系统_第3页
JSP课程设计报告航空售票系统_第4页
JSP课程设计报告航空售票系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、大学 航空售票系统 学 院 年 级 姓 名 学 号 指导教师 日 期 摘要 近些年来,随着社会的发展和科技的进步,人们的工作与生活也越来 越离不开计算机,每个人都有不同的需求,不同的人有着不同的要求,特 别是在网络发达的现代,随着网络技术的快速发展和日益普及,基于网络 的订票系统已经被各家航空公司使用,它的开放性、适应性、交互性显示 出了良好的发展前景,对传统的订票方式产生了深刻的影响。 本系统采用 jsp+sql2005 实现了在线订票,主要包括:用户注册、订 单提交、订单查询、后台用户管理、航班信息管理、订单管理。该系统能 降低人工处理订票时出错的几率,提高工作效率。 关键字:jsp、sq

2、l、订票 目录 摘要1 1 绪论(设计目的)4 2 需求分析5 2.1 需求分析目的5 2.2 系统功能需求分析5 2.3 系统架构:6 2.4 系统流程分析:7 3 系统设计8 3.1 数据库设计9 3.2 界面设计10 4 系统实现11 4.1 数据库实现11 4.2 javabean的编写11 4.2.1 jdbc 包11 4.2.2md5 包12 4.2.3 enter包12 4.2.4 register包13 4.2.4 air_lines包13 4.2.4.1 line类 13 4.2.4.2 show_line类 13 4.2.4.3 a_line类14 4.2.4.4 amen

3、d_ine类15 4.2.4.5 d_line类 15 4.2.5 book_line包15 4.2.5.1 booked_line类15 4.2.5.2 book_line类16 4.2.5.3 show_booked_line类16 4.2.5.4 d_book_line类16 4.3 前台模块实现17 4.5.1 系统登录界面如下图所示:17 4.5.2 用户注册界面:20 4.5.3 用户页面所示:21 4.5.4 管理员界面23 结论(心得体会)27 1 绪论(设计目的) 自 910 年代以来,因特网技术的飞速发展正在迅速地改变着人们的生 活方式,因特网正在由科学工作者的工具变为普通

4、百姓获取信息、进行交 流的场所,而因特网的商业应用则尤为引人注目。随着国内因特网的发展, 国内航空公司也开始酝酿网上订票、售票业务。 网上订票系统是 1 个取代过去由人工处理的订票系统,在 1 定程度上 提高了购票的透明度和自主性,但网站在方便消费者的同时,仍存在许多 不足的地方。例如,航空公司网站只能提供公司自有航班的机票信息,客 观上限制了人们的选择范围;旅行社网站则多以旅游产品为主,很少单独 提供机票的预订服务,因此其在机票服务的专业性、丰富性上都会大打折 扣。个别旅游、机票销售的门户网站虽然可以提供酒店、机票预订等服务, 但因这类网站缺乏实时的机票数据信息,因而在其所提供的票务信息的权

5、 威性、服务内容的专业性上仍然不尽人意。因此,消费者仍然真正做到自 主选购机票,而所获得的购票体验也仍存在着“费时费力,无法排除订票的 不确定性”,或者“价格折扣等关键信息可信度不高”等负面感觉。 客户能随时随地通过因特网查询航班的详细信息,并预定最满意的航 班。客户无须来往与机场和家、办公室之间,不必在售票点排队买票或订 票,只要有 1 根网线就能轻松搞定从查询航班到订票到取票等 1 系列过程。 改 “订”票服务为的“定”票服务,排除用户“订”票后可否获得所需机票的不 确定性;用户可以自己选择航班、时刻、舱位,就如同在超市货架上自选 货物般简单,从而摒弃了传统“问讯式”服务的弊端;使航班价格

6、及信息透 明化,最大限度地消除了目前机票销售市场上存在的散、乱、黑等现象, 从而使用户明明白白“定”票,机票代理人明明白白售票,使用户及机票代 理人的合法权益得到最大保障,这就是本系统的开发目的。 2 需求分析 2.1 需求分析目的 软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程, 管理软件需求分析尤其如此。 软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问 题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务 需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管 理而实现的质的飞跃,这一步是否成功,直接关系到开

7、发出来的软件产品能否得到 用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理 问题。 按照软件工程对软件开发过程的描述,需求阶段我们可以细分为需求调研和需 求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程 等,这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、 理解了用户的业务,于是可以开始分析需求了。 2.2 系统功能需求分析 在本系统设计的过程中,我详细分析了航空售票系统流程。得出了此系统中需 要主要解决的问题: 功能要求: (1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体 数据自定) (2)查询:可

8、以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达 城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)修改航班信息: 当航班信息改变可以修改航班数据文件 2.3 系统架构: jsp,html文件 javabean ,servlet sql2005 系系统统架架构构三三层层架架 构构 用户界面层 用户处理层 数据储存层 2.4 系统流程分析: 用户登录 读取用户类型 1.添加管理航班信息 2.删除修改航班信息 3.查看预订航

9、班信息 1.查看可预订航班号 2.预订航班 3.查看删除预订航班号 成功 admin 会员 开始 图 2-1 系统分析图 本系统采用通用的 mvc 架构利用 jsp+servlet+javabean(ejb)模式 ,系统数 据库采用 sql server 2005 作为数据库。sql server 2005 软件提供了十分快速的多线 程、多用户、牢靠的 sql(结构化查询语言)数据库服务器。 sql server 2005 服务 器定位于任务关键型、重负荷生产系统,并能嵌入在大量部署的软件中。在任何平 台上,客户端可使用 tcp/ip 协议连接到 sql server 2005 服务器。在 w

10、indows 系统 的 nt 系列中(nt、2000、xp 或 2003) ,客户端可使用命名管道进行连接。 connector/j 接口为使用 jdbc 连接的 java 客户端程序提供了 sql server 2005 支持。 以 adobe dreamweaver cs4、jdk tomcat 6.0 和 my eclipse 作为程序开发环境。 adobe dreamweaver cs4 提供了对于 jsp 网页的可视化集成开发环境;jdk 是 java 语言编译器,将 java bean 和 servlet 编译为.class 字节码文件;tomcat 6.0 是一个免 费的开源 s

11、ervlet 容器(jsp 服务器); my eclipse 是一款优秀的 jsp 编写,利用它可 以根据便利的编辑服务器 3 系统设计 基于上面的分析,按照软件工程的思想,对综合素质评价系统进行功能分析: 实现系统登录功能; 实现注册功能; 对不同的用户进行权限分配; 采用 css+js+div 设计简单的菜单树; 不同用户具有不同的导航树; 管理员能够添加删除更新航线; 会员能够查看预订航线; 会员能够删除已预订的航线; 根据以上分析,设计出 用户数据流程图 注册登录机票预订预订机票 查看可预订机票 查看预订过机票 机票信息 机票信息 预订信息 管理员数据流程图 登录管理机票添加可预订机票

12、 查看可预订机票 删除机票 机票信息 机票信息 机票信息 : 3.1 数据库设计 在一个 b/s 系统中数据无疑是非常重要的,数据的安全性、稳定性、可恢复性 对使用者起着极其重要的作用。选择一个健全稳定的数据库无疑也是系统实现的首 要步骤,本系统选用的是 sql 2005,它能提供大型系统所需的数据库服务。下面将 介绍系统的数据库结构。 本系统的最主要的功能在与数据库的分配,对不同的用户采用不同的数据库, 和不同的查询方式。 1.用户表 user_info 图 3-1 uesr_info 表 2.管理员表 admin_info 图 3-2 admin_info 表 3.航空信息表 air_li

13、ne_info 图 3-3 air_line_info 表 4.预订航空信息表 air_line_book 图 3-4 air_line_book 表 3.2 界面设计 界面的设计是 b/s 系统开发的关键步骤,因为它在某种程度上体现了程序开发 的质量和水平。本系统的主要功能集中在后台验证权限,由于此系统中涉及到的 jsp 面比较多,且没有主次区分,所以具体界面留至下章实现。 4 系统实现 4.1 数据库实现 启动 sql2005; 登陆 sql2005 命令界面,连接登陆; 在 sql2005 下提示符下执行创建数据库和各个表的命令,完成所需数据库和表 的创建,然后在相关表中插入适量测试用的

14、数据。 4.2 javabean 的编写 在 jsp 技术中,javabeans 就是用来封装业务逻辑。本系统中 javabean 主要是用来封 装数据库的访问操作的。本系统一共有 4 个包,分别对各个方面进行信息管理。下 面是对主要的包进行详细解释。 4.2.1 jdbc 包 jdbc 包是专门用来负责连接数据库的,包内有一个类 jdbc。jdbc 类主要负 责数据库连接。 package jdbc; import java.sql.*; import java.util.*; public class jdbc private int inuse=0; private int max=99

15、9; private vector connections=new vector(); public synchronized void releaseconnection(connection con) connections.addelement(con); inuse-; public synchronized connection getconnection() connection con=null; if(connections.size()0) con=(connection) connections.elementat(0); connections.removeelement

16、at(0); try if(con.isclosed() con=getconnection(); catch(sqlexception e) else if(max=0|inusemax) con=newconnection(); if(con!=null) inuse+; return con; private connection newconnection() connection con=null; string username=jian; string password=modemima; string url=jdbc:odbc:jianyue; string dbdriver

17、=sun.jdbc.odbc.jdbcodbcdriver; try class.forname(dbdriver); catch(exception e) try con=drivermanager.getconnection(url, username, password); catch(sqlexception e) e.printstacktrace(); return null; return con; public synchronized void closecon() enumeration allconnections=connections.elements(); whil

18、e(allconnections.hasmoreelements() connection con=(connection)allconnections.nextelement(); trycon.close();catch(sqlexception e) connections.removeallelements(); 4.2.2md5 包 md5 包用来对密码进行加密。通过包中类 md5.java 来实现。类 md5.java 代码略。 4.2.3 enter 包 check 用来实现用户登陆网站的权限及合法性验证,check 包下只有一个类 check.java,这个类实现了登陆网站的权

19、限及合法性验证。代码如略。 4.2.4 register 包 register 主要实现注册功能,以及数据库相关操作。register 包下有两个类 add.java 和 db_user.java; 代码略; 4.2.4 air_lines 包 air_lines 包用来对航空线路的相关信息进行管理,下面介绍其中的类 4.2.4.1 lineline 类类 line 类是根据数据库中的航空信息表 air_line_info 设计而成的,代码略 4.2.4.2 show_line 类类 show_line;类是根据航空线路关键字查询出相应的线路名称,代码如下: package tour_line

20、s; import java.sql.*; import java.util.*; import java.io.*; public class show_line public string tour_line_name; public collection col=new arraylist(); public connection con; public collection show() throws exception try statement statement=con.createstatement(resultset.type_scroll_sensitive,results

21、et.concur_updatab le); string sql=select * from tour_line_info where air_line_name like +%+air_line_name+%+; resultset r=statement.executequery(sql); while(r.next() line li=new line(); li.settour_line_name(r.getstring(1); col.add(li); catch(sqlexception ee) return col; 4.2.4.3 a_line 类类 a_line 类用来在数

22、据库中写入新的航空线路信息,主要代码如下: package tour_lines; import java.sql.*; public class a_line public string air_line_name; public string air_line_pirce; public string air_line_tejia; public string air_line_comp; public string tour_line_time; public connection con; public boolean a_exe() throws exception try stat

23、ement statement=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatab le); string sql=insert into air_line_info (air_line_name,air_line_tejia,air_line_pirce,tour_line_comp,tour_line_time) values (+air_line_name+,+air_line_tejia+,+air_line_price+,+air_line_comp+,+ air_line_time

24、+); system.out.print(sql); statement.executeupdate(sql); return true; catch(sqlexception ee) return false; 4.2.4.4 amend_ine 类类 amend_line 类实现对数据库中现有记录内容进行更新,代码与 a_line 相似,略: 4.2.4.5 d_line 类类 d_line 类用来删除数据库中已经存在的线路信息,代码与 a_line 相似,略: 4.2.5 book_line 包 book_line 包下的类主要完成预定线路的构建,显示和删除 4.2.5.1 booked

25、_line 类类 booked_line 类是根据数据库中预定航空线路表设计的,是预定线路的一个抽象,其中描 述了预定线路的属性以及这些属性值的取值和设置方法。代码如下: package book_line; import java.sql.*; public class book_line public string air_line_name; public string user_name; public string book_time; public connection con; public boolean book_exe() throws exception try stat

26、ement statement=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatab le); string sql=insert into tour_line_book (tour_line_name,user_name,book_time) values (+air_line_name+,+user_name+,+book_time+); statement.executeupdate(sql); return true; catch(sqlexception ee) return fals

27、e; 4.2.5.2 book_line 类类 book_line 类主要负责把用户预定的线路信息写入数据库,代码与 book_line 类相似,略。 4.2.5.3 show_booked_line 类类 show_booked_line 类主要用来显示某个用户预订的线路信息,代码与 air_line 包的 show_line 类相似,略。 4.2.5.4 d_book_line 类类 d_book_line 类用来删除用户已经预订的航空线路,代码与 air_line 包的 d_line 类相似, 略。 4.3 前台模块实现 4.5.1 系统登录界面如下图所示: 图4-1 登录界面 登录 l

28、ogin.jsp 负责登录传值,主要代码 base href= 登陆界面 function od() var f=document.form1; if(f.username.value=) alert(用户名未输入); f.username.focus(); f.username.select(); return; if(f.password.value=) alert(密码未输入); f.password.focus(); f.password.select(); return; function callnm() window.location.href=regist.jsp !- - 欢迎航空售票系统 用户名: 密码: 会员 管理员 输入用户名,密码,权限传递到 enter.jsp 进行合法性验证:

温馨提示

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

评论

0/150

提交评论