Web技术jsp课程设计任务书_第1页
Web技术jsp课程设计任务书_第2页
Web技术jsp课程设计任务书_第3页
Web技术jsp课程设计任务书_第4页
Web技术jsp课程设计任务书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、编号025Web技术Qsp)课程设计任务书设计题目:火车站售票管理系统设计主要内容:一、开发平台:DREAMWEAVER/ECLIPSE+SQLSEVER2000/MYSQL二、功能要求:1、设计内容设计一个火车站售票管理系统,该系统的用户由一般用户和管理员组成,然后不同的用户拥有不同的权限,各自完成各自的管理功能,首先是欢迎页面,然后选择登录,登录的时候首先要判断用户的身份,合法的用户然后进入到系统主页面中,不同的用户看到不同的系统功能。用sqlserver2000创建后台数据库,然后利用程序设计语言(JSP)编写程序实现对数据库的操作,按照要求完成所有的功能和模块。2、火车站售票管理系统主

2、要功能(1)用户管理:用户登录页面、班次信息查询页面(按照一定条件查询)、旅客订票页面、客户资料登记页面(包括添加、修改、删除等操作)、取票通知页面。(2)管理员管理:管理员登录页面、班次信息页面(包括添加、修改、删除等操作)、旅客信息查询页面(按照一定条件查询,包括删除、修改)、取票通知页面(包括添加、修改、删除等操作),帐单页面。3、火车站售票管理系统数据库表单(可以按照需求增加)(1)航班信息表表单,主要字段有:班次号、出发时间、到达时间、出发城市、到达城市、途径城市、站票价格、硬座价格、卧铺价格、备注(2)旅客订票信息表单,主要字段有:用户名、证件号码、联系方式、班次号、订票数目(3)

3、取票通知表单,主要字段有:用户名、证件号码、联系方式(4)帐单表单:用户名、证件号码、班次号、座位号、金额(5)用户信息表单,主要字段有:用户名、密码、证件号码、联系方式、用户类别三、课程设计报告主要内容:1、需求分析:包括系统概述,具体分析,用户需求等需求描述2、系统概要设计:包括系统用例图、系统结构图、数据定义3、详细设计:包括系统设计方案,类图4、具体实现:界面实现和代码实现5、课程设计体会:6、参考文献:按正确格式列出3篇以上的参考文献撰写者:审定:尹朝庆目录1、需求分析:1 .K系统概述:1.2、 具体分析:1.3、 用户需求:2、系统概要设计:.2.1、 系统用例图:2.2、 系统

4、结构图:2.3、 数据库定义:3、详细设计:3.1、 数据处理封装图3.2、 系统设计:4、具体设计:4.1、 界面设计:4.1.1、4.1.2、4.1.3、4.1.4、用户合同管理界面: 用户注册界面: 用户合同内容查询界面 管理员发货界面:4.1.5、 管理员产品入库界面4.2、 系统核心代码:421、用户注册核心代码:4.2.1、 用户查询核心代码:423、产品更新核心代码:5、课程设计体会:444 4 5 7 910 1 11111 1 113 115 16 18 120参考文献:1需求分析1.1. 系统概述为方便广大网民的购票需求,特制定此系统,公司借助此系统来处理售票事务,其应完成

5、的功能如下: 火车站基本网站管理 用户管理 火车车次信息管理 购票管理系统采用B/S架构12具体分析B/S前台具体分析: 火车站基本网站管理:此系统包括新闻导航、公司简介和一些可扩展内容供所有用户浏览。 用户管理:此系统内容包括一般用户的注册、注册内容的查看、修改和密码修改,其中管理员用户信息为系统自动分配。一般注册用户和管理员通过用户类型区分,用户登入后也由用户类型的条件转入不同界面,其中管理员可以对注册用户信息进行管理。 车次信息管理:此系统内容包括所有用户根据某些条件进行车次的查询、管理员可以对车次信息进行更新、修改和删除等操作 购票管理:注册用户进行购票事务,系统返回购票信息供用户确认

6、,注册用户还可以设定取票和付款方式,管理员进行购票信息和所有帐单的管理。其中管理员可以对预定票的期限、站票数额、一些优惠和送票信息进行设定。1.3. 用户需求 游客:可以浏览火车站网站的基本信息包括公司简介、新闻导航和一些等待完善的扩展。其中游客还可以对车次信息进行查询,如其愿意还可以注册为火车站的注册用户享有注册用户的权限。 注册用户:可以对注册信息进行修改,相关车次的查询、购票信息的确认和取票、付款方式的设定。 管理员:管理员对所有信息进行管理、会总和统计,其中主要包括对车次信息的更新、添加和删除,对注册用户信息的管理和帐单管理,还可以具体为售票预定期、站票数、一些优惠和送票信息进行设定。

7、1系统概要设计2.1系统用例图2.2系统结构图公司向介和守航«utility»3uVS飞ClClpdD)四户信息aFM充用多改1L秆理如雌ID卯户的t?理C<uulity)>mnwro淅卜次E)tralmittBaeec<m:yv»峥也理-7«cthb»-卜一I7I怅1话系、76i网s"«uiik!y»bedin«vniiiy»setc<uiikly»moae、怛为以迂依咨斑扑祭故仅红图2.2系统结构图2.3数据定义usemwssagePKidnameperno

8、findyoupasswpowertrainPKtrainN。outtimeintinieoutcityincitvwaycitysitsleepmessnewmanagePKnewidnewnameconnewkeybuyPK,FK2idFK1trainNositNomonevsendmoneygetsellPK,FK1trainNostandnubnameshortgivemoneyselldate图2.3数据库结构图数据库字段说明:cs_user表用于用户信息管理表2Tusermessage表字段名属性长度是否主键备注uesrnamevarchar20是用户名passwordvarcha

9、r20否密码powervarchar20否权限agevarchar20否年龄fingyouvarchar20否联系方式addrvarchar200否居住地址ybnovarchar20否邮编号码pernovarchar20否证件号码cs_train表用于管理车次信息表2-2cs_train表字段名属性长度是否主键备注trainnovarchar20是车次leixvarchar20否类型shifvarchar20否始发站shiftimevarchar20否开车时间Tujcityvarchar200否途径站zhongdvarchar20否终点站zhongdtimevarchar20否到站时间yzsh

10、uvarchar20否硬坐数rzshuvarchar20否软座数ywshuvarchar20否硬卧数rwshuvarchar20否软卧数cd_train表用于表达车次的详细信息表2-3cd_train表字段名属性长度是否主键备注idvarchar20是编号trainnovarchar20否车次leixvarchar20否类型zhanshuvarchar20否第几站nextcityvarchar20否下一站daodtimevarchar20否到达时间chuftimevarchar20否出发时间lievarchar20否里程yzpricevarchar20否硬座价rzpricevarchar20否

11、软座价ywpricevarchar20否硬卧价rwpricevarchar203、软卧价piao表用于票信息表2-4piao表字段名属性长度是否主键备注trainnovarchar20是车次datevarchar20否日期chexvarchar20否车厢号zuowvarchar20否座位号pricevarchar203、价钱注(为方便数据的读取所有字段都采用varchar)4具体实现根据以上的概要设计对本系统的问题描述,系统模块的规划,系统结构的设计和对数据库的设计,这个系统已非常清楚了。4.1界面设计子.票务系统起本站快讯砧砧A比w广竹少X武二玷*网亡屿聿*总洪福e 武=北车站市内药之处地址

12、 的汽燃所w列生 工干坏8月1曰起玷;F4孕谈现生蛆或丰囱期知 X于皿t帆日噌开沪宁出车组的闻知 淞锣丑小弓却。用小忙D 叁三沿花生山神苦浪港海汨港 俄京游和F至面的南豕加加资讯网 无诜游2桁4工丘时而以亦班货小网 1海后的XH武的!您府市密士n 小布处时至工充伏必先花斑脩问图3.1首页图3.2判断登入页面站站查询图3.3查询车次0票务系统捷美二w站站查询册改的见幕在修我息业车次查询-弃旬 投蚕息 信学讯息址军衣何九询憎列车 共于2008,6另1日起增开I确定亘黄音宇海法组列淑逋知 茎翻黑痔叶统你我蜥对本站有任何意见建议请前往意见年蚣 浙赣海好组的最新消息感谢你的支持图3.4用户界面图3.5管

13、理员界面期闻由心意见期网上购票图3.6车次查询结果图3.7查询车次详细信息结果说明:页面设计严格按照需求分析要求,首页完成用户的登入和注册接口、所有用户的查询车次信息的接口、和相关扩展一一包括新闻中心(待开发)、意见投诉(待开发)和一些出行信息的浏览。用户界面和管理员界面同样严格按照需求分析要求,完成相应功能,详细功能的完成,请参考相应的详细代码。4.2详细代码1 .公共模块其包括连接数据库jsp页面、固定宽度且居中的CSS排版样式、判断是否登入过的jsp和导航条。连接数据库jsp页面:<%pageimport=/java.util.*,?%><%pageimport=&qu

14、ot;java.sql.*"%><%StringdbUrl=/zjdbc:mysql:/localhost/myconnz"StringdbUser="root"StringdbPassword=”;Driverdb_Driver=(Driver)Class.forName(/zcom.mysqljdbc.Driver'"),newlnstance();ConnectionConn;Conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);Statementsql;s

15、ql=Conn.createStatement0;Statementsqlx=Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITI,TE,ResultSet.CONCUR_READ_ONLY);%> 固定宽度且居中的css排版代码:bodybackground-color:S0000CC;margin:IpxOpxOpxOpx;padding:0px;text-align:center;font-size:12px;font-family:Arial,Helvetica,sans-serif;)#container(position:rel

16、ative;margin:OpxautoOpxauto;width:700px;text-align:left;) 判断是否登入过的代码:<%if(session.getAttribute('cs_user")null)response.sendRedirect(z,login.jsp");elsecs_power=(String)session.getAttribute(cs-power);if(cs_power.equals("0")(out.print(对不起!管理员请不要进入注册用户界面!);)elseresponse.sendRe

17、directC'mvp.jsp");)%> 导航条写进一静态的txt文件中:<divid="globallink”><ul><li><ahrefindex.jsp">首页<li><ahref="company.jsp”>公司简介< li><ahref="news.jsp”>新闻中心</&></1:1>< li><ahref=/sug.jsp”>意见投诉< li><

18、ahref="iflogin.jsp”>服务中心< li><ahref="findme.jsp”联系我们< li><ahref="list.jsp”>网上购票</ul></div>2 .登入登入页面采用查找相应表数据,和相应表中数据进行匹对,最后在根据权限重定向到不同页面,把数据表中的数据写入session中为后面的代码服务。代码如下:<%cs_user=request.getParameterCcs_userz/);cs_password=request.getParameter(&q

19、uot;csqassword");sqlVerify=,/select*fromcs_userwhereusername='+cs_user+“'andpassword='"+cs_password+“rsVerify=sql.executeQuery(sqlVerify);if(rsVerify.next0)(session.setAttributeC'cs-user"",rsVerify.getString(usernamev);session.setAttribute(z,cs_password?z,rsVerify

20、.getString("password");session.setAttribute(cs-power",rsVerify.getString("power");session.setAttribute(cs-age,rsVerify.getString("age");session.setAttribute(/zcs_findyou,rsVerify.getString(/zfindyouz,);session.setAttribute(cs_addr”,rsVerify.getString("addr&quo

21、t;);session.setAttribute('cs_ybno”,rsVerify.getString("ybno");session.setAttribute(/zcs_perno,rsVerify.getString(z,pernoz/);cs_power=(String)session.getAttribute(cs_power,?);if(cs_power.equals(1")(response.sendRedirect(z/mvp.jsp");)else(response.sendRedirect("manage.jsp)

22、;)else(out.print(用户名或密码错误”);)%>3 .修改修改密码、修改用户资料和对用户信息审核删除相应数据的思想和方法是一样的一一找到相应的数据表在对其进行update。在修改用户资料代码中是直接读取session中的数据并可以对其修改,而删除相应数据是根据主键在删除相应数据。下面以修改密码代码来说明。修改的核心代码如下:<%cs_user=(String)session.getAttribute(/zcs_user/z);cs_password=request.getParameter(/zcs_password,z);cs_passwordl=request.g

23、etParameter(cs_passwordl);sqlVerify=,/select*fromcs_userwhereusername='"+cs_user+“'andpassword='"+cs_password+''';rsVerify=sql.executeQuer5r(sqlVerify);if(rsVerify.next0)(sql.executeUpdate(""updatecs_usersetpassword='"+cs_passwordl+''where

24、username=+cs_user+);Conn,close0;out.printIn("密码修改成功!);elseout.print("密码修改失败);)%>4 .插入用户的注册和自动生成管理员的方法思想是一致的,就是在相应表中添加记录,而在自动生成管理员用户中采用随机的在固定的字符后加数据,再在表中加记录,好的,现在就一自动生成管理员代码来说明:<%intno=(int)(Math,random()*10000)+1;cs_user=admin+no;cs_password=12+no;cs_power二0;cs-age=尢;cs_findyou二无;cs_

25、addr=”无;cs_ybno=无;厂cs_perno=尢;sqlVerify=/zselect*fromcs_userwhereusername='+cs_user+'rsVerify=sql.executeQuery(sqlVerify);if(rsVerify.next()out.print(请少候);)elsesql.executeUpdate(,zINSERTINTOcs_userVALUES。+cs_user+,+cs_password+,+cs_power+,+cs_age+,+cs_findyou+','+cs_addr+','+

26、cs_ybno+','+cs_perno+');%><P>用户名:<%=cs_user%X/p><p>密码:<%=cs_password%></p><%Conn,close();%>5查询插入更新车次查询和买票代码的思想是:把途径的城市写在一个长的字符串中这样用户可以根据出发站和目的站找到相应车次,其中用到sql中的模糊查询。用户再根据车次找到相应的详细信息,用户根据输入相应的车次号进行买票,买票的思想是在票数据表中插入车厢号和座位号,座位号大于60后车厢号加1。车次表中的硬座,硬卧等数减1。

27、下面就以站站查找来说明,其代码如下:<tablewidth="500border=1”><th>车次<th>类型<th>始发站<th>出发站<th>目的站<th>终点站<th>里程数<th>剩余硬座数<th>剩余软座数<th>剩余硬卧数<th>剩余软卧数<%cs_cityl=request.getParameter('cs_cityl");cs_city2=request.getParameter("cs_c

28、ity2");sqlVerify=/select*fromcs_trainwheretujcityLIKE'%"+cs_cityl+"+cs_city2+“蜻”;rsVerify=sql.executeQuery(sqlVerify);while(rsVerify.next0)(cs_trainno=(String)rsVerify.getString(trainno);leix=(String)rsVerify.getString(,/leix,z);shif=(String)rsVerify.getString(shif/z);zhongd=(Stri

29、ng)rsVerify.getString("zhongd");lic=(String)rsVerify.getString("lic");yzshu=(String)rsVerifir.getString("yzshu");rzshu=(String)rsVerifjr.getString("rzshu");irwshu=(String)rsVerify.getString("ywshu");rwshu=(String)rsVerifgetStringC'rwshu);%><

30、;tr><td><%=cs_trainno%X/td><tdX%=leix%X/td><tdX%=shif%X/td><tdX%=cs_cityl%X/td><td><%=cs_city2%X/td><td><%=zhongd%X/td><td><%=lic%X/td><td><%=yzshu%X/td><td><%=rzshu%X/td><td><%=rwshu%X/td><td

31、><%=rwshu%X/td></tr>< %></table>< %Conn,close0;%>< h7Xb>查找相关车次的详细信息</b></h7><formaction="/trainmessage,jsp"method="post"name="search2”><P>车次:<inputtype="text"class="text"name="cs_train

32、noX/p><p><inputtype="submit"class="btnvalue="确定"><inputname="重置"type="reset"class="btn"value="重置"</form>车次详细信息查询代码与其相似:<tablewidth="500"border="1"><th>车次<th>类型<th>站数&l

33、t;th>下一站<th>到站时间<th>出站时间<th>里程<th>硬座价<th>软座价<th>硬卧价<th>软卧价<%cs_trainno=request.getParameter('cs_trainn。");sqlVerify=z/select*fromcd_trainwheretrainno='"+cs_trainno+“"rsVerify=sql.executeQuery(sqlVerify);while(rsVerify.next0)trainno=(String)rsVerify.getString(trainno);leix=(String)rsVerify.getString(leix);zhanshu=(String)rsVeri.getString(zhanshu'O;nextcity=(String)rsVerify.getString("nextcity")daodtime=(String)rsVerify.getString("daodtime")chuftime=(String)rs

温馨提示

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

评论

0/150

提交评论