长途汽车信息管理系统的设计与实现样本_第1页
长途汽车信息管理系统的设计与实现样本_第2页
长途汽车信息管理系统的设计与实现样本_第3页
长途汽车信息管理系统的设计与实现样本_第4页
长途汽车信息管理系统的设计与实现样本_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

一、绪论1、引言1.1设计目在信息技术高度发达今天,老式手工记录客运站信息,已满足不了正常需求。如何是管理员人以便解决这些信息,减少她们工作量是一种需要解决额问题。借助计算机来完毕这些大量冗杂工作。能大大减少管理员工作强度。这里开发一长途客运站班车信息管理系统,旨在为客运信息管理员提供一种可行法案。通过运用计算机上程序,按规范管理长途客运信息。以便查询班车线路状况、各个班次售票状况,以及每个班次班车信息。方遍管理员查询,及修改长途汽车线路信息,汽车信息,和车票信息。将录入操作交给电脑来完毕。这样既能减少管理员工作量还能满足日益增长需求。也借以阐明计算机技术在当今世界发展中重要地位和科技创新重要意义。1.2项目背景本程序开发课题为“某长途客运站信息管理系统”。重要使用软件有Jcreator、jdk1.7和Tomcat6.0。使用软件工程设计思路,来开发一套使用软件。从分析顾客需求开始、模块划分、建立数据库、代码设计、调试最后完毕。重要针对使用者时客运信息管理员(负责本客运站线路加减以及售票)。由于本程序有些功能善待完善,局限性之处请见谅。2、任务描述2.1目的本次程序设计应实现长途客运管理系统基本功能,并达到一定健壮性和安全性。目的涉及,客运汽车信息管理(新进车辆都录入涉及车牌号,汽车编号,以及最大载客量和负责该车司机师傅)。线路信息管理(新增运营线路录入线路号,始末站点,发车时间等信息)。售票信息查询以及管理员信息管理系统。除此之外,对查询优化解决也是必要,这样可以提高运营效率。2.2运营环境软件环境:操作系统:Win7开发工具:Tomcat6.0jdk1.7Jreator使用编程语言:Java3、数据描述3.1输入数据1)添加车辆:车辆编号、载客量、车牌号、司机。车辆编号:为3为数字载客量:为(50-100)数字车牌号:为国内原则车牌号如(冀BT00001)司机:姓名(varchar(20))2)添加线路信息:线路号、始发站、终点站、车辆编号、发车日期、发车时间、耗时和票价。线路号:L+(3为数值)始发站和终点站:都市名称(varchar(20))车辆编号:为3为数字(且存在于数据库内)发车日期:格式为/12/23发车时间:小时:分钟(如9:00)。小时(0-24),分钟(0-60)。耗时:小时:分钟(如9:00)。小时(不不大于0),分钟(0-60)。票价:不不大于零整数3)添加管理员信息:账号和密码账号:长度20以内字符(varchar(20))密码:长度20以内字符(varcha(20))3.2输出数据1)查询既有车辆:车辆编号、载客量、车牌号、司机。2)查询既有线路信息:线路号、始发站、终点站、车辆编号、发车日期、发车时间、耗时和票价。3)查询售票状况:线路号、总票数、余票。4)查询既有管理员信息:账号和密码。4、功能规定顾客提出及普通软件都应具备功能(如输入、输出、修改、查询等)通过对顾客反馈需求进行分析本系统具备如下功能:1)汽车信息管理管理员可以在汽车信息管理模块对汽车信息进行管理,管理员可以添加、修改和删除本客运站汽车信息。该模块还可以查看既有汽车信息。2)线路信息管理管理员可以在线路信息管理模块对线路信息进行管理,管理员可以添加、修改和删除本客运站运营线路。线路信息涉及:出发站、目地、发车时间、以及运营该线路汽车班次号。这里汽车必要是数据库已经存在汽车。3)车票信息管理该模块记录各个班次售票状况,涉及总票数,和余票状况。4)管理员信息管理该模块可以添加新管理员,以及显示已有管理员信息。 二、需求分析1、需求调查1.1组织机构调查长途客运站长途客运站长途运送公司公路管理局公路运送管理交通局图1组织机构图图1组织机构图本程序是为长途客运站开发,使用对象是客运站管理员。重要负责录入新车,添加新运营线路以及售票。1.2业务需求调查1)登入验证选取业务长途汽车管理系统自动显示车辆信息车辆信息添加、删除选取业务长途汽车管理系统自动显示车辆信息车辆信息添加、删除车辆修改车辆信息线路信息自动显示线路信息线路线路信息添加、删除车辆管理员信息售票信息显示售票状况显示管理员信息修改管理员信息添加、删除车辆 2)业务管理如图:图2整体业务流程图图2整体业务流程图1.3对软件系统规定调查对本次管理系统样例规定有:1)存在管理员,只有通过验证才干进入系统。2)可以添加新管理员。3)可以录入新车辆信息。4)可以开通运营新线路。5)可以查询售票状况,订票。6)预留更新接口以添加新功能。2、功能需求2.1功能划分程序重要涉及登入界面和操作界面,登入界面用来对管理员进行身份验证,只有在数据库中管理员才容许进入操作界面。操作界面涉及:汽车信息管理、线路信息管理、车票信息管理和管理员信息管理。管理员通过登陆界面验证之后进入操作界面后,可以查询可添加车辆信息、线路信息和售票信息。线路信息包括:线路号(即车次)、始发站、终点站、发车日期、发车时间、耗时,同步还会显示该线路余票以及票价(票售完不显示)。容许进行订票。车辆信息重要涉及:大巴车编号、最大载客量、车牌号以及驾驶员。售票信息:线路号、该线路总票数、余票。管理员信息:既有管理员账号信息。2.2功能描述顾客提出及普通软件都应具备功能(如输入、输出、修改、查询等)通过对顾客反馈需求进行分析本系统具备如下功能:1)汽车信息管理管理员可以在汽车信息管理模块对汽车信息进行管理,管理员可以添加、修改和删除本客运站汽车信息。该模块还可以查看既有汽车信息。2)线路信息管理管理员可以在线路信息管理模块对线路信息进行管理,管理员可以添加、修改和删除本客运站运营线路。线路信息涉及:出发站、目地、发车时间、以及运营该线路汽车班次号。这里汽车必要是数据库已经存在汽车。3)车票信息管理该模块记录各个班次售票状况,涉及总票数,和余票状况。4)管理员信息管理该模块显示既有管理员信息。

如下为实现功能数据流图: 图3数据流程图图3数据流程图3、数据描述3.1数据描述1)车辆信息:车辆编号、载客量、车牌号、司机。2)线路信息:线路号、始发站、终点站、车辆编号、发车日期、发车时间、耗时和票价。3)售票信息:线路号、总票数、余票、票价。4)添加管理员信息:账号和密码。 3.2数据库描述在对业务流程图和数据流程图进行详细分析基本上,找出其中实体有管理员、线路、车辆、线路车票,依照各个实体属性以及她们之间联系。有E-R图描述实体及实体之间关系(关系E-R图如下)载客数载客数汽车号汽车车牌号始发站线路号目地汽车号线路发车时间管理管理管理系统管理员密码账号车票总票数线路票号线路号余票图3实体联系E-R图3.3数据词典1)车辆信息车辆编号:长度为3个字符规定字符为数字(0-9),如“001”。 载客量:整形规定(30-100)数。 车牌号:省份简称+市属车号字母(大写26个字母,O除外)+5位字符 字符可以是(0-9)数值也可以是(大写26个字母,O除外)。 司机姓名:长度为20个字符,可以不写满。2)线路信息 线路号:大写字母L+长度为3个字符规定字符为数字(0-9),如“001”。 始发站:都市名称,长度为20个字符,可以不写满。 终点站:都市名称,长度为20个字符,可以不写满。 发车日期:长度为10字符串,规定年份+”/”+月+“/”+日。 年份:四位数字字符,规定不不大于等于当前年份 月:两位字符1-12,不满两位前面补“0“日:两位字符1-31,不满两位前面补“0“,注意某些月份,如2,4,6,9,11不满31天。发车时间:长度为5字符串,规定小时+“:“+分钟。 小时:两位字符0-24,不满两位前面补“0“分钟:两位字符0-60,不满两位前面补“0“ 耗时:长度为5字符串,规定小时+“:“+分钟。 小时:两位字符不不大于等于0,不满两位前面补“0“分钟:两位字符0-60,不满两位前面补“0“大巴编号:参照车辆信息3)售票信息线路号:参照车辆信息。总票数:依照线路号查到车辆编号,继而查到载客量。余票:整形不不大于等于0,不大于等于总票数票价:整形不不大于04)管理员信息账号:长度为20个字符,可以不写满。密码:长度为20个字符,可以不写满。4、性能需求4.1数据精准度1)查询时保证查全率,所有在相应域中与查询核心字相符记录都应能查到;2)查询时保证查准率,所有查询记录都是但愿值。3)修改记录同步,不浮现一方有时令一方没有状况。4.2时间特性1)小型库中查询、修改等操作响应时间应控制在0.5秒钟以内;2)增长数据量时也应将响应时间控制在2秒以内;3)当数据多至超过响应时间时,应提供更新以控制响应时间。4.3适应性1)满足运营环境在容许操作系统之间安全转换规定;2)满足与其她应用软件不冲突独立运营规定。5、运营需求5.1顾客界面1)屏幕格式:多窗口运营,采用B/S,使用Jcreator和jdk1.7制作,完全兼容Windows平台。2)报表格式:符合打印规定,与常规打印机接口匹配。3)菜单格式:采用选项菜单等方式。5.2硬件接口1)需要10M以上LAN接入网络宽带。2)需要P43.0GXeonCPU/1G内存/360G(10K)SCSI硬盘服务器。5.3软件接口1)运营于Windows操作系统之上;2)需要连接小型数据库Access和系统类库,使用Tomcat服务器。5.4故障解决1)顾客输入错误格式时应予以改正提示;2)数据库更改错误时应自行缓和关闭并重启;3)若运营时遇到不可恢复系统错误时,应保证数据库完好无损;4)其他故障问题可与开发人员联系。5.5基本规定综上可知,基本规定如下:1)体系构造:B/S2)操作系统:Windows系列3)数据库管理系统:小型数据库Access4)开发工具:Jcreator、jdk1.7、Tomcat6.05)软件需求:操作系统WindowsAdvanceServer以上,数据库软件MicrosoftAcccess,数据库服务器端软件Tomcat6.06)硬件需求:P3以上微机(带网卡)客户机,10M以上LAN接入网络带宽,P43.0GXeonCPU/1G内存/1T(10K)SCSI硬盘服务器。6、其她需求除了基本规定,还应当保证软件安全性:1)提供管理员密码保护、密码修改功能;2)提供可靠软件逻辑机制,减少外部侵入风险。

三、总体设计1、总体构造和模块设计依照业务流程图与数据流程图可画出总体功能模块构造图如下:售票信息查询售票信息查询既有管理员查询管理员登入系统长途汽车管理系统售票信息查询系统线路信息管理系统车辆信息管理系统管理员信息管理系统既有车辆信息管理添加新车添加新管理员既有运营线路查询添加新运营线路图4总体功能模块构造图其中,重要涉及登陆模块,车辆信息管理模块,线路信息管理模块,售票信息管理模块和管理员信息管理模块。车辆信息管理模块下涉及输入新车编号、载客量、车牌号、司机;而线路信息管理模块下涉及增长新运营线路,该线路购票。售票信息管理模块涉及显示所有线路售票状况。管理员信息管理模块涉及既有管理员信息管理和增长新管理员功能。各个功能和模块接口都如上图所示。2、数据构造设计各层次模块数据构造表如下:表1汽车信息表字段名称数据类型必填字段主键busIDnChar(3)YYbusSizeIntYbusNumnChar(3)YbusDrivervarchar(20)Y表2线路信息表字段名称数据类型必填字段主键外键lineIDnchar(4)YYstartvarchar(20)Yendvarchar(20)YDatenchar(10)YsTimenchar(5)YnTimenchar(5)YbusIdnchar(3)YY表3售票信息表字段名称数据类型必填字段主键lineIDnchar(4)YYallNumIntYleftNumIntYpriceIntY表4管理员信息表字段名称数据类型必填字段主键mIDvarchar(20)YYpwdvarchar(20)Y3、数据库设计3.1逻辑设计数据库关系模型如下:车辆(车辆号,载客量,车牌号,司机)线路(线路编号,始发站,终点站,发车日期,发车时间,耗时,车连编号)售票信息(线路编号,总票数,余票)管理员(管理员账号,密码)3.2物理设计数据库应存储在服务器端,保证数据库存储空间在数据量3倍左右,以以便数据备份和数据恢复操作。4、外部接口设计4.1顾客界面顾客界面多为链接操作,插入和修改信息操作。背景采用浅蓝色,文字采用黑色宋体字,查询成果显示在中间位置。4.2软件接口实现google浏览器或者IE与ACCESS接口(通过Tomcat服务器)。4.3硬件接口由于存在大量数据备份问题和报表打印问题,需要连接磁带机或备份用数据库和打印机。5、出错解决设计5.1出错解决信息1)输入格式错误,探出提示框显示“请按照固定格式输入信息”等字样;2)程序数据基本错误,探出提示框显示“系统数据错误”等字样,并安全退出程序;3)程序严重错误,探出提示框显示“请将问题发送至开发者邮箱”等字样,并强行退出程序。5.2出错解决对策1)输入不合法错误,予以对的格式提示;2)由于程序导致基本错误,在保护数据库安全状况下退出程序并重新自启动,再依照日记来恢复4)定期对数据库进行备份;

四、详细设计1、代码设计服务器端:存储数据库,启动服务器Tomcat,等待管理员那边PC端祈求,依照祈求内容查询数据库把查询内容传回管理员PC端进行显示。执行一种祈求结束后继续等待下一种祈求。管理员PC端:一方面要通过登陆界面验证,输入密码顾客号检查成功进入操作界面,所有操作以树型构造显示界面左边栏,数据显示在右边栏目中;点击详细操作链接点后会把接受到数据显示在右边栏目中。2、程序设计2.1模块设计1)登录模块功能:管理员输入密码和顾客名点击登入,服务器检查密码和顾客与否对的,对的则可以入操作界面。性能:以便快捷;相应速度快;界面和谐,带有错误提示。输入项目:账号和密码。输出项目:跳到登入失败或者进入操作界面。2)车辆信息管理功能:可以添加汽车信息,删除汽车信息,修改汽车信息,查询所有汽车信息。性能:以便快捷;相应速度快;界面和谐,带有错误提示。输入项目:汽车编号,载客量,车牌号,司机。输出项目:保存添加或者修改后及时刷新界面显示添加后数据。3)线路管理功能:可以添加路线,删除路线,修改路线,显示所有线路。性能:以便快捷;相应速度快;界面和谐,带有错误提示。输入项目:添加和修改涉及线路号、目地,出发地,出发时间,耗时,使用车辆编号。输出项目:线路编号,目地,出发地,出发时间,行驶时间,余票。4)管理员信息管理:功能:可以添加和删除新管理员。性能:以便快捷;相应速度快;界面和谐,带有错误提示。输入项目:添加和修改管理员账号和密码。输出项目:既有管理员信息。2.2算法设计登陆某些:一方面输入顾客号和密码,进行验证,连接服务器数据库检查输入顾客名与否存在并且密码与否对的,对的则可以操作,不对的显示登入失败。车辆信息管理:点击汽车信息链接后会发送祈求数据库获取所有数据库中汽车信息,并且再右边栏目中进行显示。输入内容点击保存即可保存到数据库中;如果修改则需要选中修改行进行修改后保存数据库中。线路信息管理:点击线路信息链接后会发送祈求数据库获取所有数据库中线路信息,并且再右边栏目中进行显示。输入内容点击保存即可保存到数据库中;如果修改则需要选中修改行进行修改后保存数据库中。管理员信息管理:点击管理员信息链接后会发送祈求数据库获取所有数据库中管理员信息,并且再右边栏目中进行显示。输入内容点击保存即可保存到数据库中;如果修改则需要选中修改行进行修改后保存数据库中2.3程序逻辑1)登入界面 进入操作界面否进入操作界面否是开始输入账号和密码验证与否合法提示失败结束图5登入界面N-S图

2)汽车信息管理、线路信息管理、管理员信息程序逻辑如下:图5登入界面N-S图 结束不合法结束不合法合法添加否开始获取文本框信息从服务器获取车辆信息存入服务器是检查操作失败合法检查修改不合法获取文本框信息操作失败修改服务器是删除有关所有记录否读取主键编号检查与否存在删除是失败否是否图6图6汽车信息管理、线路信息管理、管理员信息N-S图2.4接口软件接口:在这里重要考虑软件与操作系统接口,这里使用java语言开发。Jdk1.7具备较好跨平台兼容性。除此之外,还要配备服务器端,启动服务器程序Tomcat6.0,等待可无端祈求。建立连接后通过SQL语言Tomcat会自动完毕对数据库操作。硬件接口:可用网络链接,服务器端有较大硬盘容量,较好CPU来提高检索速率。2.5测试要点由于开发软件较小。可以严个测试录入数据安全性。准备各种测试用例(实用软件测试办法)检查系统健壮性。同步检查形同日记,以及异常后数据库能发保持完整性。

五、系统实现1登入界面设计login.jsplogin.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="java.lang.Math.*,sen.DBUtilbus"%><%!Stringmid="";Stringpwd="";booleanflag=false;%><% if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null)) {mid=newString(request.getParameter("mid").getBytes("ISO8859_1"),"GB2312");pwd=newString(request.getParameter("pwd").getBytes("ISO8859_1"),"GB2312");if(flag==true) { %> <jsp:forwardpage="fenp.jsp"/> <% }else { %> <jsp:forwardpage="loginfail.jsp"/> <% } } %><html><head></head><bodybackground="login.jpg"><formname=form1method="post"action="login.jsp">账号:<inputsize="20"type="text"name="mid"></input></br>密码:<inputsize="20"type="password"name="pwd"></input></br> <inputtype="submit"value="确认"></input><inputtype="button"value="关闭"onclick="window.opener=null;window.close();"/></form></body></html>2功能实现2.1数据库键表运用ACCESS建立4张需要表:2.2界面设计标题标题功能选项显示页面添加处(售票信息缺此项) 图7界面示意图标题显示:head.jsp功能选项显示:left.jsp车辆信息:busifortop.jsp(包括添加处addbus.jsp和显示处busIfor.jsp)线路信息:buslineif.jsp(包括添加处buslineiftop.jsp和显示处busline.jsp)线路信息:saleticket.jsp管理员信息:manager.jsp(包括添加处managertop.jsp和显示处managerbo.jsp)此外还建立了一种链接数据库工具类DBUtilbus,一集一种接受祈求Severlet类来解决顾客祈求(如购票)。DBUtilbus类中实现了数据库增删改操作。ShopSeverlet类重要响应购票祈求。2.3代码实现2.3.1数据连接工具类DBUtilbus.java代码如下:publicclassDBUtilbus{ //登入验证 publicstaticbooleanlogin(Stringmid,Stringpwd) { booleanflag=false; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*frommanager"); while(rs.next()) { Stringtemp1=rs.getString(1); Stringtemp2=rs.getString(2); System.out.println(temp1+""+temp2); if((temp1.equals(mid))&&(temp2.equals(pwd))) {flag=true; break; } } rs.close(); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } returnflag; } //开通新航线添加新票(被addLine调用) publicstaticvoidaddticket(StringlineID,StringbusID,intprice) { try{ intnum=0; Stringupdate_sql=""; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); update_sql="selectbusSizefrombuswherebusID="+"'"+busID+"'"; System.out.println(update_sql); ResultSetrs=st.executeQuery(update_sql); rs.next(); num=Integer.parseInt(rs.getString(1)); rs.close(); update_sql="insertintoticketvalues('"+lineID+"',"+num+","+num+","+price+")"; st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } } //添加新运营路线publicstaticvoidaddLine(StringlineID,Stringstart,Stringend,StringbusID,Stringdate,StringsTime,StringnTime,intprice) {try{addticket(lineID,busID,price);Stringupdate_sql="insertintolinevalues('"+lineID+"','"+start+"','"+end+"','"+busID+"','"+sTime+"','"+nTime+"','"+date+"')"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } } //添加车辆 publicstaticvoidaddbus(StringbusID,intbusSize,StringbusNum,StringbusDriver) { try{Stringupdate_sql="insertintobus values('"+busID+"',"+busSize+",'"+busNum+"','"+busDriver+"')"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} } //添加管理员 publicstaticvoidaddmanager(Stringmid,Stringpwd) { try{Stringupdate_sql="insertintomanagervalues('"+mid+"','"+pwd+"')"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); st.executeUpdate(update_sql); st.close(); con.close(); } catch(Exceptione) { e.printStackTrace(); } } publicstaticList<String[]>getLinet() {ArrayList<String[]>al=newArrayList<String[]>(); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("selectlineID,busID,start,end,Date,sTime,nTime,allNum,leftNum,pricefromticket,linewhereticket.tlineID=line.lineIDandticket.leftNum>0"); while(rs.next()) { String[]rows=newString[10]; for(inti=1;i<=10;i++) { rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } //获取管理员信息 publicstaticList<String[]>getManager() { ArrayList<String[]>al=newArrayList<String[]>(); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*frommanager"); while(rs.next()) { String[]rows=newString[2]; for(inti=1;i<=2;i++) { rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } //获取售票信息 publicstaticList<String[]>getSalet() { ArrayList<String[]>al=newArrayList<String[]>(); try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*fromticket"); while(rs.next()) { String[]rows=newString[3]; for(inti=1;i<=3;i++) {rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } //获取车辆信息 publicstaticList<String[]>getBusIfor() { ArrayList<String[]>al=newArrayList<String[]>(); try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:bus","",""); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*frombus"); while(rs.next()) { String[]rows=newString[4]; for(inti=1;i<=4;i++) { rows[i-1]=rs.getString(i);} al.add(rows); } rs.close(); st.close(); con.close(); } catch(Exceptione) {e.printStackTrace();} returnal; } }2.2祈求接受类ShopSeverletpackagesen;importjavax.servlet.http.*;importjava.io.*;importjavax.servlet.*;importjava.util.*;importsen.DBUtilbus;publicclassShopServletextendsHttpServlet{ publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doPost(req,resp);}publicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{HttpSessionsession=req.getSession(true); resp.setContentType("text/html;charset=gbk"); Stringaction=req.getParameter("action"); System.out.println("action:"+action); if(action.equals("buy")) {Stringpid=req.getParameter("pid"); DBUtilbus.bus(pid); this.forward("busline.jsp",req,resp); }}publicvoidforward(Stringpath,HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{req.getRequestDispatcher("/"+path).include(req,resp);}}2.3操作界面2.3.1进入界面fenp.jsp<%@pagecontentType="text/html;charset=gbk"import="sen.DBUtilbus,java.util.*"%><html><head><title>长途汽车管理系统</title></head><framesetrows="10%,*"> <framescrolling="no"src="head.jsp"name="top"frameborder="1"> <framesetrows="*"cols="15%,*"framespacing="0"border="5"><framesrc="left.jsp"name="left"frameborder="1"><framesrc="busline.jsp"name="main"scrolling="auto"> </frameset></frameset></html>2.3.2标题界面head.jsp<%@pagecontentType="text/html;charset=gbk"%><html><head><title>head</title></head><body> <h1align="center"a><fontcolor=""size="">河北省长途汽车系统</font></h1></body></html>2.3.3功能选项left.jsp<%@pagecontentType="text/html;charset=gbk"import="wyf.DBUtil,java.util.*"%><html><head><title>商品列表</title></head><body><ahref="busifortop.jsp"target="main">汽车信息</a></br><ahref="buslineif.jsp"target="main">线路信息</a></br><ahref="saleticket.jsp"target="main">售票信息</a></br><ahref="manager.jsp"target="main">管理员信息</a></br></body></html>界面样式如图:2.3.4车辆信息车辆信息样式如图:businfor.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>车辆信息列表</title></head><body><%List<String[]>ll=DBUtilbus.getBusIfor();if(ll.size()==0){%><fontcolor="red"size="20">对不起当前没有任何车辆信息!!!</font><%}else{%><tablealign="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1"><caption><b>车辆信息列表</b></caption><tr><thbgcolor="d7d3d3">巴士号</th><thbgcolor="d7d3d3">载客量</th><thbgcolor="d7d3d3">车牌号</th><thbgcolor="d7d3d3">司机</th><thbgcolor="d7d3d3">删除</th></tr><%intc=0;for(String[]sa:ll){StringcolorStr=(c%2==0)?"#fffefe":"#9ccdfe";c++;%><tr><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[0]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[1]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[2]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[3]%></td><tdalign="center"bgcolor="<%=colorStr%>"><ahref="ShopServlet?action=del2&&pid=<%=sa[0]%>">DEL</a></td></tr><%}%></table><formaction=""></form><%}%></body></html>addbus.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="java.lang.Math.*,sen.DBUtilbus"%><%!Stringbusid="";Stringnum="";StringbusNum="";Stringdriver="";%><%if((request.getParameter("busid")!=null)&&(request.getParameter("num")!=null)&&(request.getParameter("busNum")!=null)&&(request.getParameter("driver")!=null)) {busid=newString(request.getParameter("busid").getBytes("ISO8859_1"),"GB2312");num=newString(request.getParameter("num").getBytes("ISO8859_1"),"GB2312");busNum=newString(request.getParameter("busNum").getBytes("ISO8859_1"),"GB2312");drive=newString(request.getParameter("driver").getBytes("ISO8859_1"),"GB2312");intallNum=Integer.parseInt(num);DBUtilbus.addbus(busid,allNum,busNum,driver); }%><formname=form1method="post"action="addbus.jsp">巴士号:<inputsize="10"type="text"name="busid"></input>载客量:<inputsize="10"type="text"name="num"></input>车牌号号:<inputsize="10"type="text"name="busNum"></input>司机:<inputsize="10"type="text"name="driver"></input><inputid="b1"type="submit"value="提交"name="tijiao"></input> <inputid="b2"type="submit"value="修改"name="xiugai"></input></form></body></html>2.3.5线路信息线路信息界面样式如图:busline.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>线路信息列表</title></head><bodybackground="bus.jpg"><%List<String[]>ll=DBUtilbus.getLinet();if(ll.size()==0){%><fontcolor="red"size="20">对不起当前没有任何线路信息!!!</font><%}else{%><tablealign="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1"><caption><b>线路信息列表</b></caption><tr><thbgcolor="d7d3d3">线路号</th><thbgcolor="d7d3d3">大巴号</th><thbgcolor="d7d3d3">始发站</th><thbgcolor="d7d3d3">终点站</th><thbgcolor="d7d3d3">开车日期</th><thbgcolor="d7d3d3">开车时间</th><thbgcolor="d7d3d3">耗时/h</th><thbgcolor="d7d3d3">总票数/张</th><thbgcolor="d7d3d3">余票/张</th><thbgcolor="d7d3d3">票价</th><thbgcolor="d7d3d3">^_^</th><thbgcolor="d7d3d3">删除</th></tr><%intc=0;for(String[]sa:ll){StringcolorStr=(c%2==0)?"#fffefe":"#9ccdfe";c++;%><tr><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[0]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[1]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[2]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[3]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[4]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[5]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[6]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[7]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[8]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[9]%></td><tdbgcolor="<%=colorStr%>"><ahref="ShopServlet?action=buy&&pid=<%=sa[0]%>">购买</a></td><tdalign="center"bgcolor="<%=colorStr%>"><ahref="ShopServlet?action=del3&&pid=<%=sa[0]%>">DEL</a></td></tr><%}%></table><%}%></body></html>buslineiftop.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="sen.DBUtilbus"%><%!Stringlineid="";Stringstart="";Stringend="";StringbusID="";Stringdate="";Stringstime="";Stringntime="";Stringprice="";%><%if((request.getParameter("lineid")!=null)&&(request.getParameter("start")!=null)&&(request.getParameter("end")!=null)&&(request.getParameter("busID")!=null)&&(request.getParameter("stime")!=null)&&(request.getParameter("ntime")!=null)&&(request.getParameter("price")!=null)&&(request.getParameter("date")!=null)) { lineid=newString(request.getParameter("lineid").getBytes("ISO8859_1"),"GB2312"); start=newString(request.getParameter("start").getBytes("ISO8859_1"),"GB2312"); end=newString(request.getParameter("end").getBytes("ISO8859_1"),"GB2312"); busID=newString(request.getParameter("busID").getBytes("ISO8859_1"),"GB2312"); stime=newString(request.getParameter("stime").getBytes("ISO8859_1"),"GB2312"); stime=newString(request.getParameter("stime").getBytes("ISO8859_1"),"GB2312"); ntime=newString(request.getParameter("ntime").getBytes("ISO8859_1"),"GB2312"); price=newString(request.getParameter("price").getBytes("ISO8859_1"),"GB2312"); date=newString(request.getParameter("date").getBytes("ISO8859_1"),"GB2312"); DBUtilbus.addLine(lineid,start,end,busID,date,stime,ntime,Integer.parseInt(price)); }%><formname=form1method="post"action="buslineiftop.jsp">线路号:<inputsize="10"type="text"name="lineid"></input>始发站:<inputsize="10"type="text"name="start"></input>终点站:<inputsize="10"type="text"name="end"></input>大巴号:<inputsize="10"type="text"name="busID"></input>发车日期:<inputsize="10"type="text"name="date"></input>发车时间:<inputsize="10"type="text"name="stime"></input></br>耗时:<inputsize="10"type="text"name="ntime"></input>票价:<inputsize="10"type="text"name="price"></input> <inputtype="submit"value="提交"name="tijiao"></input> <inputtype="submit"value="修改"name="xiugai"></input></form></body></html>2.3.6售票信息售票信息界面样式如图:saleticket.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>售票信息列表</title></head><body><%List<String[]>ll=DBUtilbus.getSalet();if(ll.size()==0){%><fontcolor="red"size="20">对不起当前没有任何线路信息!!!</font><%}else{%><tablealign="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1"><caption><b>售票信息列表</b></caption><tr><thbgcolor="d7d3d3">线路号</th><thbgcolor="d7d3d3">总票数</th><thbgcolor="d7d3d3">余票</th></tr><%intc=0;for(String[]sa:ll){StringcolorStr=(c%2==0)?"#fffefe":"#9ccdfe";c++;%><tr><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[0]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[1]%></td><tdalign="center"bgcolor="<%=colorStr%>"><%=sa[2]%></td></tr><%}%></table><%}%></body></html>2.3.7管理员信息管理员信息界面央样式如图:managertop.jsp<%@pagecontentType="text/html;charset=ISO8859_1"%><%@pagelanguage="java"%><%@pageimport="sen.DBUtilbus"%><html><bodybackground="head.jpg"><%!Stringmid="";Stringpwd="";%><%if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null)) { mid=newString(request.getParameter("mid").getBytes("ISO8859_1"),"GB2312"); pwd=newString(request.getParameter("pwd").getBytes("ISO8859_1"),"GB2312"); DBUtilbus.addmanager(mid,pwd); }%><formname=form1method="post"action="managertop.jsp">输入账号:<inputsize="10"type="text"name="mid"></input>输入密码:<inputsize="10"type="text"name="pwd"></input><inputtype="submit"value="提交"name="tijiao"></input><inputtype="submit"value="修改"name="xiugai"></input></form></body></html>managebo.jsp<%@pagecontentType="text/html;charset=gbk"import="java.util.*,sen.DBUtilbus"%><html><head><title>车辆信息列表</title></head

温馨提示

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

评论

0/150

提交评论