航空售票系统的设计论文定稿_第1页
航空售票系统的设计论文定稿_第2页
航空售票系统的设计论文定稿_第3页
航空售票系统的设计论文定稿_第4页
航空售票系统的设计论文定稿_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

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

2、计目的)42需求分析52需求分析目的52.2系统功能需求分析52.3系统架构: 62.4系统流程分析: 73系统设计83数据库设计93.2界面设计104系统实现114数据库实现114.2 javabean 的编写11421 jdbc 包114.2.2md5 包12423 enter 包124.2.4 register 包134.2.4 air_unes 包134.2.4line 类 show_i类13424.3 a_line 类134.2a.4 amend_ine 类d_line 类154.2.5 book_line 包 booked_li

3、ne 类 book_1 丿ne 类16425.3 show_booked_line 类 d_book_line 类164.3前台模块实现164.5.1系统登录界面如下图所示: 164.5.2用户注册界面: 204.5.3用户页lif所示: 204.5.4管理员界血22结论(心得体会)261绪论(设计目的)自910年代以來,因特网技术的飞速发展正在迅速地改变着人们的生 活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交 流的场所,而因特网的商业应用则尤为引人注目。随着国内凶特网的发展, 国内航空公司也开始酝酿网上订票、售票业务。网上订票系统是1个

4、取代过去由人工处理的订票系统,在1定程度上 提高了购票的透明度和自主性,但网站在方便消费者的同时,仍存在许多 不足的地方。例如,航空公司网站只能提供公司自有航班的机票信息,客 观上限制了人们的选择范围;旅行社网站则多以旅游产品为主,很少单独 提供机票的预订服务,因此其在机票服务的专业性、丰富性上都会犬打折 扌ii。个别旅游、机票销售的门户网站虽然可以提供酒店、机票预订等服务, 但因这类网站缺乏实吋的机票数据信息,因而在其所提供的票务信息的权 威性、服务内容的专业性上仍然不尽人意。因此,消费者仍然真正做到自 主选购机票,而所获得的购票体验也仍存在着“费时费力,无法排除订票的 不确定性”,或者“价

5、格折扣等关键信息可信度不高”等负面感觉。客户能随时随地通过凶特网查询航班的详细信息,并预定最满意的航 班。客户无须来往与机场和家、办公室之间,不必在售票点排队买票或订 票,只要有1根网线就能轻松搞定从查询航班到订票到取票等1系列过程。 改“订”票服务为的“定”票服务,排除用户“订”票后可否获得所需机票的不确 定性;用户可以自己选择航班、时刻、舱位,就如同在超市货架上自选货 物般简单从而摒弃了传统“问讯式”服务的弊端;使航班价格及信息透明化, 最人限度地消除了目前机票销售市场上存在的散、乱、黑等现象,从而使 用户明明白白“定”票,机票代理人明明白白售票,使用户及机票代理人的合 法权益得到最大保障

6、,这就是木系统的开发口的。2需求分析2.1需求分析目的软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程, 管理软件需求分析尤其如此。软件的需求分析是从用八的业务中提取出软件系统能够帮助用八解决的业务问 题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是対用户业务需 求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而 实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认 可,顺利交付给客八,客户能否真正运用我们的产品帮助他解决业务或管理问题。按照软件工程対软件开发过程的描述,需求阶段我们可以细分为需求调研和需求 分析两

7、个小阶段,需求调研需要充分细致的了解客八目标,用八业务内容、流程等, 这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、理解了 用八的业务,于是可以开始分析需求了。2.2系统功能需求分析在本系统设计的过程中,我详细分析了航空售票系统流程。得出了此系统中需要 主要解决的问题:功能要求:(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体 数据自定)(2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达 城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构

8、自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)修改航班信息:当航班信息改变可以修改航班数据文件2.3系统架构:用户界面层用八处理层杲鋭架构三忘架 构ijsp,html 文件1ikjavabean ,iservlet数据储存层 sql20052.4系统流程分析:图21系统分析图木系统采川通川的mvc架构利川jsp+servlet+javabean(ejb)模式,系统数据 库采用sql server 2005作为数据库。sql server 2005软件提供了十分快速的多线程、 多用户、牢靠的sql (结构化查询语言)数据库服务器。sql server 2005服务器定

9、位于任务关键型、重负荷生产系统,并能欣入在大量部署的软件中。在任何平台上, 客户端可使丿ij tcp/ip协议连接到sql server 2005服务器。在windows系统的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语

10、言编译器,将java bean和servlet编译为.class 7节码文件;tomcat 6.0是一个免费的 开源servlet容器(jsp服务器);my eclipse是一款优秀的jsp编写,利用它nj以根据 便利的编辑服务器3系统设计基于上血的分析,按照软件工程的思想,対综合素质评价系统进行功能分析:实现系统背录功能;实现注册功能;対不同的用户进行权限分配;采用css+js+div设计简单的菜单树;不同用户具有不同的导航树;管理员能够添加删除更新航线;会员能够查看预订航线;会员能够删除已预订的航线;根据以上分析,设计出用户数据流程图机票预订预订信息管理员数据流程图宵理机票3.1数据库设计

11、在一个b/s系统中数据无疑是非常重要的,数据的安全性、稳定性、可恢复性对 使用者起着极其重要的作用。选择个健全稳定的数据库无疑也是系统实现的首耍步 骤,本系统选用的是sql2005,它能提供大型系统所需的数据库服务。下面将介绍系 统的数据库结构。本系统的最主要的功能在与数据库的分配,对不同的用户采用不同的数据库,和 不同的查询方式。1.用户表 usejinfo列名九二数据类型二许空丄冈username1 char(12)r ruserkey匚 har(32)图 3-1 uesr_info 表2.管理员表admin_info列名数据类型允许空?user_namechar(12)user_keyc

12、har(32)r - 图 3-2 admin_info 表3.航空信息表airjinejnfo列名数据类型允许空9air line namemmchar(50)r,严上1airji nejirce char(50)r airji nejzompchar(50)r -l-uairine_timechar(50)r 图 3-3 air_4.预订航空信息表 表_line_book列名_l_数据类型允许兰g airjinejiamechar(50)厂一°* user_namechar(12)厂-rbook_timechar(20)厂r卜 | air jine_pric

13、e:char(50)厂airji nejzompchar(50)厂airine_timechar(50)厂一°图 3-4 air_line_book 表3.2界面设计界面的设计是b/s系统开发的关键步骤,因为它在某种程度上体现了程序开发的 质量和水平。木系统的主要功能集中在示台验证权限,由于此系统屮涉及到的jsp面 比较多,且没有主次区分,所以具体界面留至下章实现。4系统实现4.1数据库实现启动 sql2005;背陆sql2005命令界血,连接背陆;在sql2005 k提示符下执行创建数据库和各个表的命令,完成所需数据库和表的 创建,然后在相关表中插入适量测试用的数据。4.2 jav

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

15、ew vcctor();public synchronized void releaseconnection(connection con)conncctions.addelcmcnt(con);inuse;1public synchronized connection getconnection()(connection con=null;if(connections.size()>0)con=(connection) connections.elementat(o);con ncctio ns.cmovcelcmcntat(0);try!if(con.isclosed()c()n=g

16、etconnection();i)catch(sqlexception e)else if(max=o|inuse<max)c()n=newconnection();if(con!=null) (inuse+; return con;private connection newconnection()cormcction con二null;string username=hjiann;string password=,modemimah;string url=mjdbc:odbc:jianyueh;string dbdriver="sun.jdbc.odbc.jdbcodbcd

17、rivern;tryclass.fornamc(dbdriver);)calch(exception e)trycon=drivermanager.getconnection(uri, username, password);)catch(sqlexception e)e.printstacktrace();retum null;ireturn con;public synchronized void ciosecon()enumeration allconnections=connections.elements();whilc(allconncctions.hasmorcelcmc nts

18、()(connection con=(connection)allconnections.nextelement();trycon.closc();)catch(sqlexccption c)connections.removeahelementso;)4.2.2md5 包md5包用来对密码进行加密。通过包小类md5.java来实现。类md5.java代码略。4.2.3 enter 包check用来实现用户登陆网站的权限及合法性验证,check包下只有一个类 check.java,这个类实现了登陆网站的权限及合法性验证。代码如略。4.2.4 register 包register主要实现注册功能

19、,以及数据库相关操作。register包下有两个类 add java 和 db_user. java;代码略;4.2.4 air_lines 包air.lines包用来对航空线路的相关信息进行管理,下而介绍其中的类 line 类line类是根据数据库中的航空信息表air line info设计而成的,代码略 showjine 类show_line;类是根据航空线路关键字查询出相应的线路名称,代码如下:package tourjines;import java.sql.*;import java.util.*;import java.io.*;public class

20、 showjinepublic string tour_line_name;public collection col二new arraylist();public conncction con;public collection show() throws exception!try lstatementstatement=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);string sql=msclcct * from tour_linc_info where air_linc_

21、namc like ,h+,%,+airjinc_namc+h%,+hn,;resultset restatement.executequery(sql);while(r.nexto)iline li=new line();li.settourjine_name(r.getstring( 1);col.add(li);) catch(sqlexception ee)()return col;) a line 类a_line类用來在数据库中写入新的航空线路信息,主要代码如下:package tour_lines;import javasql*;pubiic class a_line

22、 public string air_line_name;public string air_line_pirce;publicstring air_line_tejia;publicstring air_line_comp;publicstring tour_line_time;public connection con;public boolean a_exe() throws exception statement statemcnt=con. crcatcstatcmcnt(rcsultsct. type scroll sensitive, rcsultsct. concur upda

23、tab le);string sql="insert into air_line_info(air_line_name, air_line_tejia, air_line_pirce, tourp, tour_line_time) values+air_line_namc+ , +air_lincitejia+ , +air_line_pncc+ , +air.linc_comp+ ,+air_lin)"systcm out print (sql);statement. executeupdate(sql);return true;catch (sqlexception e

24、e)rcturn false;i amend _ine 类amend_line类实现对数据阵屮现冇记录内容进彳亍更新,代码与a_line相似,略: djine 类d line类川來删除数据库中已经存在的线路信息,代码与alinc相似,略:4.2.5 book_line 包book_lino包下的类主要完成预定线路的构建,显示和删除 bookedjine 类booked_line类是根据数据库中预定航空线路表设计的,是预定线路的一个抽象,其屮描 述了预定线路的属性以及这些属性值的取值和设置方法。代码如下:package book line;import

25、javasql*;public class booklinepublic string air_line_name;public string user_namc;public string book_timc;public connection con;public boolean book_exe() throws exception trystatementstatement-con. crcatestatcment(rcsultsct. type_scroll_sensitive, rcsultsct. concur_updatab le);string sql=insert into

26、 tour line book (tour line name, user name,book time) values ('”+ajr_ljne_name+”,”+user_namc+”',”+book timc+”')”;statement cxecuteupdate (sql);return true;catch (sqlexcepti on ee)return false; bookjine 类book lino类主要负责把川户预定的线路信息写入数据库,代码与book line类相似,略。 show_booked_line 类show

27、_booked_line类主要用来显示某个用户预订的线路信息,代码与air_line包的 show line类相似,略。 d_book_line 类d_book_line类用來删除用户已经预订的航空线路,代码与air line包的d_line类和似, 略。4.3前台模块实现4.5.1系统登录界面如下图所示:欢迎航空售票系统用户名:11密码:会员o管理员ft*图4-1 ®录界面 登录login. jsp负责登录传值,主要代码<% page language 二"java" import= :java, util * pagcencoding= &

28、quot;gbk% <%string path = requestgotcontextpath();string basepath 二request, get scheme ()+":/"+toquosl gctscrvcrnamc () +": /z+rcqucst. gctscrvcrport () +path+z,/z,%><!doctype html public "-/w3c/dtd html 4.01 transitional/en,><html><head><base href=&quo

29、t;<%=basepath%>"><titlc>s:陆界面 </titlc><script language= javascriptfunction od()var f二documer)t forml;if(f username value二二"“)alert c用户名未输入”);f. username focus ();f username, sei ect ();return;if(f password value=")alert ("密码未输入“);f password focus ();f pass

30、word select ();return;</script><script language= javascriptfunction callnmowindow. location. href="regist jsp"</script><meta h t tp-equ i v= pragmei con lent 二"no -cache。<meta http-equi v= cache-control " content= "no-cache。<rneta http-equi v= expires

31、 con tent二 v今<meta httpequiv二"keywords" content= keywordl, keyword29 keywords<meta http-equiv= description contont= this is my page。<!<link tol二"slyloshcol" type二气cxt/css" htef二"styles.css">一><stylc typc= ext/css<! .style1 font-size: large c

32、olor:莽00ff33;</style></head><body><p>&nbsp;</p><p align= "ccnlor" class= "style 1 乍欢迎航空售票系统/p><hr><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>t d v i d i h二"210 " he i gh t 二"17 今f

33、orm n ame= forml" met hod 二"post" actio n 二"enter. jsp> <table width= 380 height= 124 border二"0" align= center cellspacing二勺" style= "height: 124px; 4<tr><td align二"lcfl xtablc width= 406 height二"/27" bordcr="0" align= c

34、enter cell spaci ng= "q"?<tr><td width= 45%y<dn al ign= center用户名:</di v></td><td width=俞%今input name= user_name" type= "text" size= "14" maxlength= "12*<jxa></tr><tr><td><div align= center密 码:</div>&

35、lt;/td><td><input namc= "usar key" type= "password" sizc= "14" maxlcngth=td></tr><tr><td><div a 1 ign= "center'xinput type= radio"name= "usertype* value= 1 checked>会员</div></td><td alig n 二"&q

36、uot;left >< input type= rad io name= us er typevalue 二 20管理员</td></tr><tr><td><di v al ig "center* in put type= submi name= submi t value 二 瓷灵" onclick二"od()"></div></td><td><input name= submitype = 7f/zo/?"onclick=&qu

37、ot;cal lnm()" value="注册勺汽心 </tr></tablcx/td></tr></table></form></td></body></html>输入丿ij户名,密码,权限传递到enter, jsp进行合法性验证:<% page contcnttype= text/hlml; charsei =gbk %><jsp:uscbcan id二:厂 scopc= applicationclass= jdbc jdbc"j»<

38、;jsp:usebea n id 二 z" scope= application class= enter, ent er"q<jsp:usebean id二"m" scope= "application" class= "md5.拠£7<script language=javascj'ipt><! function ieturnback()timerid=settimeout c window. 1 ocation. href="index htm,z,, 1000)1&

39、gt;</script><body onload= returnback ()乍<%e. con=j getconnectiono ;string user_name=new sti4ng(request get parameter (z,user _n ame") getbytes ("is08859_l"), "gbk");string user_key二new string (request getparameter (z,user_key) getbytes ("1so8859_1"), &q

40、uot;gbk");string usertype = new string(requestgetparameter("usertype"). getbytes("ts08859 j"), "gbk");user key=m. getmd5ofstr(user key);euser-name=user_name;e.user key=user key;if (e enter_exe () _out. print ("登陆成功! ”);request. gctscssion(true);sossion. putval

41、uo("onlor: "wush订i");sessi on. pulvalue ("user n ame", user n ante);out print(usertype);if (usertype. equals (t)response. sendredirect (z,user/line_book. jsp");elseresponso. scndrcdircct (z,managc. htm,z);elseout. print c用户名或密码错误! 9;j rclcascconncction(e. con);%>4.5.

42、2用户注册界面:o>c>web fijks用户名:密码:确认密码:捉交由于其页面与登陆模块相似,此处不再列出图42注册信息453用户页面所示:-.机票价格航空公司起飞时间预定ssssssssssssssssssssssssssssa北京成都:匕京成都北京成都北京成都q北京一一大连北京大连北京一一大连北京一一大连q北京一一哈尔滨北京一一尔滨北京一一哈尔湊北京一一尔滨q北京一一上海北京上海北京一一上梅北京一一上酒q己预订机票査甸及修改图43用户界血用八显示界而山line_book.jsp界而<%© page contenttype= text/html; charset

43、glik %><% page languageimport-tour_lines. jine%><% page language javaimport= java util. *o><%© page languagc= java import二:方 io. *%<jsp:usebean id二:厂 scope= application class= jdbc.jdbd<jsp:usebcan id=s scoe-application cass=tour lines, show line/y <body><form n

44、ame= form 1 method二巾osf" action= book. jsp<table width= "100%" border = "1 d<tr><td colspan二 ><img src= 7 . /image/biaoti jpg" widlh二"760" hcight= "1504q2 </tr><tr><td width=20%"div <td width= xdiv <td width= 20%y<

45、;dn <td widths zxdival ign= "center。可预订的机票</div></td> al ign= "cenleic机票价格</div></td> al ign= "center。航空公司</div></td> align= center 起飞时间 </div></td><td> 预定 </td></tr><%s tour 1ine name=";s. con=j getconnectio

46、n();col lection tcol=s shov();iterator it=tco1iterator0;while(i t. hasnext ()line li=(line) itnext ();%><tr><td xdiv al ign= "left <%out. print (i i. gettour_line_name() ;%> </a> </div></td><td> <div al ign=print (1 i. gettour 1 ine nameo) ;%><

47、/a> </div></td><td> <div al ign=<%out. print (1 i. gettour line nameo) ;%></a> </div></td><td> <div align= left <%out. print (1 i. gettour line nameo) ;%> </a> </divx/td><td width 二勺oinpiit typc= rad io namc= tour_line_nam

48、c value=<%=li. gcttour_linc_name 0%>></td></tr><%it. remove ();j releaseconnection(s. con);%></table><p aligzsightd<input typc= "submit" name= "submit" value="我耍预订 j</p></form><a href= "show booked line, jsp target=z

49、z blank 已预订机票查询及修改</d> </body>机票预定信息己经预订的机票机票价洛航空公司起飞时间预订吋间图44己预订界面show_booked_line.jsp是用來显示己预订的机票界血,代码与bookjine.jsp和似,4.5.4管理员界面机票斑丁机理 増加机莱佑思 涮3预订个人(5总営理 公吿栏莒趣iu已开通航班线路名称ssssssso北京成都北京大连o北京哈尔淇o北京上池o图4-5机栗信息管理界面showjine.jsp是用于显示机票管理信息,代码如下:<%© page contcnttype= tcxt/html; charscl

50、-gbk" %><%© page language= java import= "tour_lines. lineo><%© page language= java import= java util *观><% page 1 anguage= java import= 7/java io. *筑><jsp:usebean id=y scope= applicationcass= "jdbc jdbd<jsp:usebean id二?" scope= cipplication cl

51、ass= tour_lines. show_line"/<body><form namc= fonnl" mcthod= "posl " action= "d_linc jsp<table width 二"90%" border= t" cel 1 spaci ng 二"0" borderco 1 or= ccccff<tr><td colspan=src= : . /image/biaoti. jpg" width二"760&quo

52、t; height= "15o0qtd></tr><tr><td><div aligns cent er 已开通航班线路名称 </div></td><td> 删除 </td></tr><%s. tour line nzime二"”;s. con=j. get con necti on();collection tcol=s. show();iterator it=tcol. iterator();wh订e(it. hasnext 0)1 ine li = (li

53、ne) it. next():%><tr><td width=$z><div align=hre=v line amend. jsp?t i fi. get tour 1 ine name()%>/z target=/r blanks<%out. print(li. gettour_line_name();%> </a> </div></td><td widthsinput type= radioname= tour_line_namevalue=<%=li. gcttour_linc_nam

54、c()%>></td></tr><%it. remove();j. releaseconnection(s.con);%></table><p align二"right。<input typc- "submit " namc= "submil" valuc="删除所选旅游线路0</p></form></body>图牛6机栗信息增加界面a_line.htm是机票信息增加页面:<!doctype html public &qu

55、ot;-/w3c/dtd html 4.01 transitional/en"> <html><head><meta httpequiv= content-type contcnt= text/html; charset=gb2312<title>无标题文档</title></head><body><form name= "forml" method二"post " action= "a_linc. jspd<table width= &q

56、uot;90%" border=cel 1 spacing= "0" bordercolor="荐ccccffd<tr><td width二航线路线<br></td><td width= 7input name= "air line name" type二"text" size二"go*/ld</tr><tr><td width二 "今航线票价<br></td><td width=勺70&

57、lt;input name= ir_ 1 ine_pricetyep= "text" size= "60"</td></tr><tr><td width= "13%勺航线公司<br></td><td width=nput n ame= tour line comp " i yep 二"text" s i ze 二"600</td></tr><tr><td width= "13%4起飞时间<br></td><td width二input ncime= tour_line_ time tyep- text size二 刨乡</td></tr><tr><td c

温馨提示

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

评论

0/150

提交评论