火车站网上订票系统-免费毕业设计论文_第1页
火车站网上订票系统-免费毕业设计论文_第2页
火车站网上订票系统-免费毕业设计论文_第3页
火车站网上订票系统-免费毕业设计论文_第4页
火车站网上订票系统-免费毕业设计论文_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)火车站网上订票系统摘要针对火车站的订票实际情况,按照软件工程的结构化设计思想,本次课程设计经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。本次课程设计利用JSP开发工具和SQLServer2000数据库来开发这个火车站网上订票系统。该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。目录第一章概述 1概述 1意义 1任务 1第二章系统的可行性研究与需求分析 2可行性研究 2经济可行性 2技术可行性 2操作可行性 2需求分析 2功能需求 2数据需求 3性能需求 4数据流图 5数据字典 5实体-联系图 6数据库逻辑结构 7第三章系统的总体设计 8系统软件结构设计 8软件结构 8模块算法 8系统流程图 9第四章系统的详细设计 12接口设计 12用户接口 12外部接口 12内部接口 12软件接口 12模块内部 12过程设计 12程序流程图 12第五章系统的实现与调试 19应用系统的开发及测试 19系统首页 19产品说明 19用户登录及访问权限 19车次信息查询 21订票信息查询 22订票 23退票 26部分代码 28登陆界面 28主界面 30车次查询条件选择界面 32精确车次信息 35搜索车次信息 36订票信息查询 39订票——用户信息 40订票——订票信息 42退票 43结束语 45参考文献 45第一章概述概述目前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题。同时还会出现由此带来的大量记录存放和管理所带来的问题。本次设计拟开发一个火车站网上订票系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具JSP和SQLServer2000数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。1.3任务本系统设计主要是根据订票业务的基本流程进行的,系统功能包括如下几个方面:查询:分为对车次信息的查询和客户对已订车票信息的查询订票:通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。退票:可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。第二章系统的可行性研究与需求分析该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。经济可行性开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。技术可行性开发工具:JSP数据库环境:SQLServer2000系统环境:MicrosoftWindows2000或以上版本。系统实现依靠相对熟悉的JSP语言和SQLServer2000数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作,暂不存在技术问题。操作可行性系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便。用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识。需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。用户对系统的需求我们从以下几方面进行分析。2.2.1功能需求本网上订票系统应该具备如下功能:1.查询分为对车次信息的查询和客户对已订车票信息的查询。要求:1)对车次的查询,可以按照发车车次进行查询;2)车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价。3)座位类型设定。4)车次信息只允许用户查询,不能修改。2.订票通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。要求:订票记录应包括:会员名、车号、发车日期、订购日期、订购票数、总价。3.退票可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。数据需求信息需求,即在系统中需要处理哪些数据。根据对火车站网上订票系统的分析,本系统的信息需求如表2-1所示。表2-1信息输入输出信息输入信息处理信息输出用户输入所需车次检索系统数据库符合用户需求的车次及相关信息用户输入个人信息及所需订购的车票信息更新系统中的订票信息,将新信息存入系统数据库操作反馈(如订票成功)用户输入自己的名字、身份证号;或交易的订单号检索系统数据库符合用户需求的订票信息用户输入自己的名字检索系统数据库以得到订票记录,删除用户请求的订票记录,更新系统数据库操作反馈(如退票成功等)2.2.3性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。2.易用性本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性。事务事务事务用户信息事务用户事务事务事务用户信息事务用户事务接收事务车次信息车次信息更新数据库事务接收事务订单信息反馈事务用户事务事务更新数据库接收事务事务订单信息事务查询订单修改订单反馈用户订票事务接收事务反馈用户更新数据库更新数据库用户信息接收事务退票图2.1数据流图2.2.5数据字典表2-2车次信息数据字典名字:车次信息名字:车次信息别名:描述:存放车次信息的文件,以供用户查询定义:车次信息=车号+出发地+目的地+发车日期+开出时刻+到达时刻+坐位类型+票价位置:输出到CRT终端或类似的显示部件表2-3订票信息数据字典名字:订票信息名字:订票信息别名:订单信息描述:存放订单信息的文件,以供用户查询,并作相应操作定义:订票记录=用户名+车号+发车日期+订购日期+订购票数+总价位置:输出到CRT终端或类似的显示部件表2-4用户信息数据字典名字:用户信息名字:用户信息别名:描述:存放用户信息的文件,以供用户方便的查询订单信息,进而做出相应的操作定义:用户信息=用户名+地址+性别+位置:输出到CRT终端或类似的显示部件2.2.6实体-联系图用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。针对火车站网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:1.车次信息包括:车号、出发地、目的地、发车日期、开出时刻、剩余座位数、票价。2.订票记录包括:订单号、身份证号、车号、订购日期、订购票数、总价。3.用户信息包括:用户名、身份证号、性别、。E-R图如图2.2所示。nnnn11m查询退票订票订单号用户身份证号车号订购日期总价发车日期订票信息用户用户名地址性别车次车次出发地目的地发车日期开出时刻坐位类型票价订购票数订购票数图2.2实体-联系图(E-R图)数据库逻辑结构火车站网上订票系统数据库中各个表格的设计结果如表2-5——表2-7所示。每个表格表示在数据库中的一个表。表2-5车次信息表BusInfo字段名数据类型是否可空说明BusIDchar(10)NOTNULL车号(主键)BusFromvarchar(50)NOTNULL出发地BusTovarchar(50)NOTNULL目的地BusDateDatetimeNOTNULL发车日期(主键)BusBeginDatetimeNOTNULL开出时刻BusEndDatetimeNOTNULL到达时刻TicketNumintNOTNULL剩余票数PriceMoneyNOTNULL票价表2-6订单表OrderInfo字段名数据类型是否可空说明OrderIDChar(10)NOTNULL订单号(主键)UserIDChar(18)NOTNULL身份证号(外键)BusIDchar(10)NOTNULL车号(外键)BusDatedatetimeNOTNULL发车日期(外键)OrderDatedatetimeNOTNULL订购日期OrderNumIntNOTNULL订购票数TotalMoneyNOTNULL总价表2-7用户表User字段名数据类型是否可空说明UserIDchar(18)NOTNULL身份证号(主键)Uservarchar(50)NOTNULL用户名SexChar(2)性别Phonevarchar(12)第三章系统的总体设计软件结构本火车站网上订票系统可划分为信息查询、网上订票、取消订票三个部分。其中信息查询又可分为车次查询和订单查询两个部分。其层次图如图3.1所示。火车票网上订票系统火车票网上订票系统信息查询车次查询订票查询网上订票取消订票模块算法1)界面级算法处理输入信息,产生相应任务。输入数据输入数据产生任务客户端校验数据数据信息反馈信息加工2)数据库级算法执行相应数据库操作,并直接返回信息反馈。底层数据库操作(封装)底层数据库操作(封装)用户界面级模块任务数据校验,调用相关模块功能3)任务级算法执行所需功能,满足用户需求。失败失败任务触发权限校验生成数据请求并记录数据处理并反馈界面显示系1)界面模块调用任务模块2)任务模块调用数据模块3)数据模块调用界面模块显示——图3.9为各模块详细系统流程图。查询程序查询程序订票程序退票程序火车站网上订票系统系统数据库事务相应信息操作反馈图3.5顶层系统流程输入所需车次的重要信息输入所需车次的重要信息查询程序系统数据库符合用户需求的车次信息事务查询程序系统数据库符合用户需求的订票信息查询程序系统数据库符合用户需求的订票信息事务输入查询条件图3.7订单信息查询系统流程图订票程序订票程序系统数据库操作反馈事务输入订票信息图3.8订票系统流程图退票退票程序系统数据库操作反馈事务输入退票信息图3.9退票系统流程图第四章系统的详细设计用户接口用户通过界面接口实现参数的输入,进入相应的界面后输入提示的信息即可产生相应的任务。外部接口接口通过一个数据转换器,将网络二进制数据流转换为一个合适的数据结构单位并添加到缓冲区中。内部接口表4-1内部接口说明表顶层模块二级模块接口数据模块底层数据操作模块取出记录集,执行SQL语句用户操作模块对应数据库相关表操作界面模块界面模块生成任务缓冲区模块生成批处理软件接口本系统程序所使用的数据库来源于主机数据库,所以系统数据与主机数据库数据向一致。模块内部模块以接受参数方式独立登陆主机数据库并且独立运行,返回数据包显示在界面上。程序流程图本系统主界面为用户设计了三个功能操作以供选择:查询,订票,退票。另外,为方便用户,还将“退出系统”——图4.6反映了不同触发事件具体的处理流程。系统主处理流程NNYYYNY开始主界面NY选择订票窗口选择查询窗口查询界面订票订票界面选择退票窗口YN退票退票界面退出N查询车次信息订票查询订票信息退票结束登录框登录,确定访问权限图4.1系统用户权限的系统主程序流程图YYNYNY选择查询窗口查询界面订票订票界面YN退出查询车次信息订票结束开始主界面选择订票窗口登录框登录,确定访问权限图4.2新用户权限的系统主程序流程图3.车次信息查询处理流程NNNNYYYNNYY查询界面用户输入要查询条件查询读数据文件输出查询结果关闭窗口结束开始订票订票界面继续查询车次信息查询车次信息订票返回主页程序流程图NNNYYNYNY开始订票界面订票输入订票信息N返回主页继续订票提交信息有效性修改数据文件Y关闭窗口结束错误提示程序流程图查询处理流程NNNNYYYNY查询界面读数据文件输出查询结果关闭窗口结束开始Y返回主页主界面退票退票界面继续查询订票信息查询订票信息退票程序流程图NNNYYNYNY开始退票界面退票N返回主页继续退票提交信息有效性Y关闭窗口结束错误提示输入退票信息修改数据文件修改数据文件程序流程图第五章系统的实现与调试系统首页产品说明用户登录及访问权限本系统设计要求用户通过登录框选择访问权限,登录系统。其中,用户须输入用户名和密码,以进入系统。未使用过本系统的用户选择注册会员,系统自动跳转至主界面。系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退票等功能均可用。系统用户输入正确的用户名和密码,访问系统,得到其相应的权限。如图。图登录框系统用户输入错误的用户名或身份证号,系统拒绝其访问。如图。图5.5出错提示新用户在登录窗口选择“注册”单选钮,系统自动跳转到注册页面,并控制其访问权限,如图所示。图新用户权限登录主窗体车次信息查询对车次信息的查询,系统提供了车次信息,进行精确的查询,系统经过检索,返回符合用户要求的车次,再由用户自行选择满意的车次。图选择查询条件。图车次查询条件框订票信息查询对于订票信息的查询,本系统只提供一种查询方式。由于用户在登录时已选择了访问权限,且输入了身份证号等确认具体身份的重要信息。故用户可以通过菜单选项直接查询自己的订票信息。该信息由系统自动返回,简便、快捷。图订票订票系统用户可以通过两种方式进入到订票环节。一是在主界面的菜单选项中,直接选择“订票”服务,二是用户可以由车次查询界面,点击“订票”命令,直接跳转订票界面。新用户在填写订票信息之前,必须填写用户信息,以保证下次访问系统时的系统权限不受限制。订票信息中的订单号由系统提供。如果用户是从车次查询界面跳转至订票界面的,在填写订票信息时,车次的相关信息由系统自动提供。用户只需输入订票数,点击“下一步”完成订票交易。交易成功后,系统会弹出提示框,示意用户订票操作已成功。新用户通过菜单,直接进入订票程序,如图所示。首先点击新增,激活操作,填写用户信息。如图所示。图订票信息界面退票系统进入退票管理也是通过两个方法来实现,用户可以直接进入退票环节,也可以从订单查询环节进入。订票相关信息由系统自动提供。登陆窗<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=gb2312"%><%@includefile="../../iframe/head.jsp"%><jsp:useBeanid="code"scope="page"class="com.util.CheckCode"/><SCRIPTlanguage=javascript>//检验表单的合法性functionchecklogin(){ if(document.form1.username.value.replace(/\s+$|^\s+/g,"").length<=0){ alert("\请输入您的用户名!"); document.form1.username.focus(); } elseif(document.form1.password.value.replace(/\s+$|^\s+/g,"").length<=0){ alert("\请输入您的密码!"); document.form1.password.focus(); } elseif(document.form1.checkcode.value.replace(/\s+$|^\s+/g,"").length<=0){ alert("\请输入验证码!"); document.form1.checkcode.focus(); } elseif(document.form1.checkcode.value!=document.form1.yzm.value){ alert("\验证码错误!"); document.form1.checkcode.focus(); } else{ form1.submit(); }}</SCRIPT><%Stringmessage=(String)request.getAttribute("message"); if(message==null){ message=""; } if(!message.trim().equals("")){ out.println("<scriptlanguage='javascript'>"); out.println("alert('"+message+"');"); out.println("</script>"); } request.removeAttribute("message"); Stringyzm=code.getCheckCode();%><FORMid=form1name=form1action=<%=basePath%>Login.shtml?method=PAGEUSERLOGINmethod=post><TABLEwidth=600border=0align="center"id=Table7><TBODY><TRheight=40><TDvAlign=centeralign=middlecolSpan=3> <FONTface=宋体></FONT><BR><FONTcolor=#ff7700><STRONG>欢迎登陆<%=sysList.get(0).toString()%></STRONG></FONT> </TD></TR><TR><TDcolSpan=3><HRclass=huialign=centerwidth="98%"SIZE=1></TD></TR><TRheight=60><TDalign=rightwidth=84height=110> </TD><TDnoWrapalign=middlewidth=171><TABLEwidth="100%"border=0><TBODY><TR><TDwidth="35%"height=24>用户名:</TD><TD> <INPUTclass=input_newid=usernamestyle="WIDTH:110px"size=15maxLength=10name=usernameonbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"onkeyup="value=value.replace(/[\W]/g,'')"value=<%=request.getAttribute("reg_user")==null?"":request.getAttribute("reg_user")%>> </TD> </TR><TR><TDheight=25>密码:</TD><TDheight=25> <INPUTclass=input_newid=passwordstyle="WIDTH:110px"type=passwordsize=15maxLength=16name=passwordonbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"onkeyup="value=value.replace(/[\W]/g,'')"> </TD> </TR> <TR><TDcolspan=2height=25><inputtype=hiddenname=reg_typevalue=person> </TD> </TR><TR><TDheight=25>验证码:</TD><TDheight=25><inputtype="hidden"name="yzm"value="<%=yzm%>"> <INPUTclass=input_newid=checkcodesize=5maxlength="4"name=checkcodeonKeyUp="this.value=this.value.replace(/\D/gi,'')"><%=yzm%> </TD> </TR> <TR><TDheight=25></TD><TDheight=25><inputtype=buttonvalue="登录"onClick="checklogin()"></TD> </TR> </TBODY> </TABLE> </TD><TDwidth=81> <LABEL> </LABEL> </TD> </TR> <TR> <TDvAlign=centerheight=20> <DIVid=Login1_ValidationSummary2style="DISPLAY:none;COLOR:red"showmessagebox="True"showsummary="False"></DIV></TD><TDclass=red1vAlign=center> <Aclass=dhx12href=""></A> </TD><TDvAlign=center> <Ahref="lost.jsp">找回密码</A><Ahref="<%=basePath%>reg2.jsp">注册会员</A> </TD> </TR> <TR> <TDvAlign=centercolSpan=3height=22> <HRclass=huialign=centerwidth="98%"SIZE=1> </TD></TR> <TRheight=40> <TDclass=buttomtxtalign=middlecolSpan=3height=21> </TD> </TR> </TBODY> </TABLE></FORM><%@includefile="../../iframe/foot.jsp"%>主界面<TABLEwidth="100%"border=0align="center"cellPadding=3cellSpacing=1class=tablewidth> <TBODY> <TRalign="center"class=head> <TDheight=23>序号</TD> <TD>车辆路线</TD> <TD>车次</TD> <TD>开车时间</TD> <TD>到站时间</TD> <TD>坐位类型</TD> <TD>票价</TD> <TD>预定</TD> </TR> <%Listlist2=tb.getAllTrain(); if(list2.size()!=0){ for(inti=0;i<list2.size();i++){ Listlist3=(List)list2.get(i); %> <TRalign="center"bgColor=#ffffff> <TDwidth="30"id=map><%=i+1%></TD> <TDid=map><%=list3.get(1).toString()%></TD> <TDid=map><%=list3.get(2).toString()%></TD> <TDid=map><%=list3.get(3).toString()%></TD> <TDid=map><%=list3.get(4).toString()%></TD> <TDid=map><%=list3.get(5).toString()%></TD> <TDid=map><%=list3.get(6).toString()%></TD> <TDid=map><ahref="<%=basePath%>Job.shtml?method=prepTrain&id=<%=list3.get(0).toString()%>">预定</a></TD> </TR> <%}}%> </TBODY> </TABLE>车次查询条件选择窗口<TABLEclass=dragTablecellSpacing=0cellPadding=0width="100%"border=0> <TBODY><TR><TDclass=head> <SPANclass=TAG>路线信息查询</SPAN> </TD> </TR> <TR> <TDclass=middlealign="center"> <formaction="<%=basePath%>searchinfo.jsp"method="post"name="form1"><TABLEcellSpacing=0cellPadding=0width="100%"border=0><TBODY><TR><TDwidth=100%align=center>请选择路线:<selectname="train"><%Listlist=tb.getAllTrain();if(!list.isEmpty()){for(inti=0;i<list.size();i++){Listlist2=(List)list.get(i);%><optionvalue=<%=list2.get(1).toString()%>><%=list2.get(1).toString()%></option><%}}%></select><inputtype=buttononclick="f1()"value="查询信息"></TD> </TR> </TBODY> </TABLE> </form> </TD> </TR></TBODY> </TABLE>搜索车次信息publicListgetOneTrain(Stringid){ Stringsql="select*fromtrainwhereid='"+id+"'"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(sql); while(rs.next()){ list.add(rs.getString(1)); list.add(rs.getString(2)); list.add(rs.getString(3)); list.add(rs.getString(4)); list.add(rs.getString(5)); list.add(rs.getString(6)); list.add(rs.getString(7)); list.add(rs.getString(8)); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } }订票信息查询publicListgetOneTrain(Stringid){ Stringsql="select*fromtrainwhereid='"+id+"'"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(sql); while(rs.next()){ list.add(rs.getString(1)); list.add(rs.getString(2)); list.add(rs.getString(3)); list.add(rs.getString(4)); list.add(rs.getString(5)); list.add(rs.getString(6)); list.add(rs.getString(7)); list.add(rs.getString(8)); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } }订票——用户信息publicintpersonReg(Stringusername,Stringpassword,Stringtype,Stringrealname,Stringsex,Stringbir, Stringsheng,Stringcity,Stringtelphone,Stringemail,Stringquestion,Stringanswer,Stringlastip,intoff){ password=MD5.MD5(password); Stringsql="insertintomember(username,password,type,regtime,ifuse,logintimes,lasttime,lastip)"+ "values('"+username+"','"+password+"','"+type+"','"+date+"','"+off+"','0','"+date+"','"+lastip+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1){ rs=dbo.executeQuery("selectidfrommemberwhereusername='"+username+"'"); rs.next(); intmid=rs.getInt(1); Stringsql2="insertintopmember(mid,realname,sex,bir,sheng,city,telphone,email,question,answer)"+ "values('"+mid+"','"+realname+"','"+sex+"','"+bir+"','"+sheng+"','"+city+"','"+telphone+"','"+email+"','"+question+"','"+answer+"')"; intj=dbo.executeUpdate(sql2); if(j==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; } else{ returnConstant.SYSTEM_ERROR; } }catch(Exceptione){ returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } //某个人会员资料 publicListgetRegInfo(Stringusername){ Stringsql="select*frompmemberwheremid=(selectidfrommemberwhereusername='"+username+"')"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(sql); rs.next(); list.add(rs.getInt("mid"));//0 list.add(rs.getString("realname"));//1 list.add(rs.getString("sex"));//2 list.add(rs.getString("bir"));//3 list.add(rs.getString("sheng"));//4 list.add(rs.getString("city"));//5 list.add(rs.getString("telphone"));//6 list.add(rs.getString("email"));//7 list.add(rs.getString("question"));//8 list.add(rs.getString("answer"));//9 returnlist; }catch(Exceptione){ e.printStackTrace(); returnlist; }finally{ dbo.close(); } } //个人会员修改资料 publicintuppersonReg(Stringusername,Stringrealname,Stringsex,Stringbir,Stringsheng,Stringcity,Stringtelphone,Stringemail,Stringquestion,Stringanswer){ Stringsql="selectidfrommemberwhereusername='"+username+"'"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()){ intmid=rs.getInt(1); Stringsql2="updatepmembersetrealname='"+realname+"',sex='"+sex+"',bir='"+bir+"',sheng='"+sheng+"',city='"+city+"',telphone='"+telphone+"',"+ "email='"+email+"',question='"+question+"',answer='"+answer+"'wheremid='"+mid+"'"; inti=dbo.executeUpdate(sql2); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; } else{ returnConstant.SYSTEM_ERROR; } }catch(Exceptione){ returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } 5.2.8订票——订票信息<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=gb2312"%><jsp:useBeanid="sn"scope="page"class="com.bean.SystemBean"/><jsp:useBeanid="tb"scope="page"class="com.bean.TrainBean"/><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";Stringdir=sn.getDir();%><HTML><HEAD><TITLE>后台操作区</TITLE><LINKhref="<%=basePath%><%=dir%>/images/Admin_Style.css"type=text/cssrel=stylesheet><LINKhref="<%=basePath%><%=dir%>/images/style.css"type=text/cssrel=stylesheet><SCRIPTlanguage=JavaScriptsrc="<%=basePath%><%=dir%>/images/Common.js"></SCRIPT><STYLEtype=text/css>BODY{ MARGIN-LEFT:0px;BACKGROUND-COLOR:#ffffff}.STYLE1{color:#ECE9D8}</STYLE></HEAD><%Stringmessage=(String)request.getAttribute("message"); if(message==null){ message=""; } if(!message.trim().equals("")){ out.println("<scriptlanguage='javascript'>"); out.println("alert('"+message+"');"); out.println("</script>"); } request.removeAttribute("message");%><% Stringusername=(String)session.getAttribute("user"); if(username==null){ response.sendRedirect(path+"/error.jsp"); } else{ Listlist2=tb.getAllPrep();%><BODY><TABLEwidth="100%"border=0align="center"cellPadding=3cellSpacing=1class=tablewidth> <TBODY> <TRalign="center"class=head> <TDheight=23>序号</TD> <TD>车辆路线</TD> <TD>车次</TD> <TD>开车时间</TD> <TD>到站时间</TD> <TD>车票类型</TD> <TD>票价</TD> <TD>数量</TD> <TD>付款情况</TD> <TD>订票会员</TD> <TD>订票时间</TD> <TD>删除</TD> </TR> <% if(list2.size()!=0){ for(inti=0;i<list2.size();i++){ Listlist3=(List)list2.get(i); %> <TRalign="center"bgColor=#ffffff> <TDwidth="30"id=map><%=i+1%></TD> <TDid=map><%=list3.get(1).toString()%></TD> <TDid=map><%=list3.get(2).toString()%></TD> <TDid=map><%=list3.get(3).toString()%></TD> <TDid=map><%=list3.get(4).toString()%></TD> <TDid=map><%=list3.get(5).toString()%></TD> <TDid=map><%=list3.get(6).toString()%></TD> <TDid=map><%=list3.get(7).toString()%></TD>t(8).toString()%></TD> <TDid=map><%=list3.get(9).toString()%></TD> <TDid=map><%=list3.get(10).toString()%></TD> <TDid=map><ahref="<%=basePath%>Job.shtml?method=mdelPrep&id=<%=list3.get(0).toString()%>">删除</a></TD> </TR> <%}}%> </TBODY> </TABLE></BODY><%}%></HTML>结束语二十一世纪是一个高速、快捷的年代。在这个高速发展的年代里,速度成了我们追求的目标;二是提高工作效率;三是降低成本。因此,办公自动化的高速度、高效率、高便捷、低成本便成了我们的目的,为此开发了这个火车站网上订票系统。本系统可以大大简化退票、订票、查询等十分繁琐的工作,简化办公环节,提高工作效率,而且易学、易用,满足客户需求。这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我真正明白了要做一个软件的难度,特别是要做一个真正可用的软件,就更难了。在老师和同学的帮助下,我把以往所学的软件工程、数据库知识结合起来,利用JSP开发工具,加上SQLServer2000数据库系统,完成了本次课程设计,尽量使它能满足各个方面的要求。当然,我的个人能力有限,还有很多不足的地方,敬请谅解。在这次课程设计过程中我遇到了不少的难题,比如数据库操作问题,界面设计问题,函数使用与实现问题,消息处理问题等等。其中,最关键的是在最初对系统的需求分析做的不透彻,导致后续设计工作乃至编码时的修改工作量变大。以至于为了能按时完成设计任务,我一连度过了几个通宵。尤其,越接近结束,就越是时常出现问题。所以,通过这次课程设计我深刻体会到软件工程还是必须学精通点、学透彻点。通过这次课程设计,我学会了如何对所学课程综合运用,巩固了软件工程的一般规范,对数据库的使用也有了更进一步了解。总体来说,课程设计让我学了不少知识。我认为课程设计是我们学习生涯中相当重要的一课,除了验证学生的学习成果外,也是训练一个人独立思考及解决问题的能力.在这里,我要感谢指导老师和同学在这次课程设计中对我的帮助。参考文献[1]孙卫琴,李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社,2003年6月:1-205[2]BruceEckel.《Java编程思想》.机械工业出版社,2003年10月:1-378[3]FLANAGAN.《Java技术手册》.中国电力出版社,2002年6月:1-465[4]孙一林,彭波.《Java数据库编程实例》.清华大学出版社,2002年8月:30-210[5]LeeAnnePhillips.《巧学活用HTML4》.电子工业出版社,2004年8月:1-319[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300[7]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日:1-354[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460[10]Brown等.《JSP编程指南(第二版)》.电子工业出版社,2003年3月:1-268[11]清宏计算机工作室.《JSP编程技巧》.机械工业出版社,2004年5月:1-410[12]朱红,司光亚.《JSPWeb编程指南》.电子工业出版社,2001年9月:34-307[13]赛奎春.《JSP工程应用与项目实践》.机械工业出版社,2002年8月:23-294毕业设计(论文)火车站网上订票系统摘要针对火车站的订票实际情况,按照软件工程的结构化设计思想,本次课程设计经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。本次课程设计利用JSP开发工具和SQLServer2000数据库来开发这个火车站网上订票系统。该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。目录第一章概述 1概述 1意义 1任务 1第二章系统的可行性研究与需求分析 2可行性研究 2经济可行性 2技术可行性 2操作可行性 2需求分析 2功能需求 2数据需求 3性能需求 4数据流图 5数据字典 5实体-联系图 6数据库逻辑结构 7第三章系统的总体设计 8系统软件结构设计 8软件结构 8模块算法 8系统流程图 9第四章系统的详细设计 12接口设计 12用户接口 12外部接口 12内部接口 12软件接口 12模块内部 12过程设计 12程序流程图 12第五章系统的实现与调试 19应用系统的开发及测试 19系统首页 19产品说明 19用户登录及访问权限 19车次信息查询 21

温馨提示

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

评论

0/150

提交评论