汽车站售票信息系统分析与设计_第1页
汽车站售票信息系统分析与设计_第2页
汽车站售票信息系统分析与设计_第3页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

信息系统分析与设计课程设计报告课程 信息系统开发与设计 课题 汽车站售票管理信息系统 班级 信息管理与信息系统11-1班指导教师 XXXXXXXXXXXXXXXXXXXXXXXX制作人员 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX 完成日期 2014年7月10日 目录刖言第1章系统概述1.1现状描述1.2系统目标1.3系统开发方法1.4开发计划1.5可行性分析1.6设计目的第2章系统分析2.1系统需求分析2.2业务流程分析2.3数据流程分析2.4数据字典2.5面向对象分析2.6系统测试计划第3章系统设计3.1模块结构设计3.2数据库设计3.3详细设计第4章系统主要界面和代码展示附录收获和体会.、八■、一前言随着IT的发展,人们消费模式等方面发生着巨大的变化。现在,人们坐在家里就能购物、订车票和酒店等等。当然,需求也同样刺激着 IT行业的发展。就拿买汽车票来说,尤其是春运期间,买票是件很麻烦的事情,在窗口排队甚至会花掉你一天的时间,甚至有时候还因为信息的缺乏,不能及时有效的了解车票的销售情况,白跑一趟汽车站。利用网上汽车售票系统,旅客可以通过网络查询车票的销售情况并订购汽车票,这极大的提高了订票的效率,节省了订票的时间,缓解了售票窗口拥挤的现状,网上订票系统的成功实施,提高了车站的信息化管理水平,减少了车站工作人员的工作量,为旅客节约了时间。分工第一章系统概述1.1现状描述目前我国各地区的汽车售票信息化水平差异较大, 虽然大部分二级以上的客运站实现了区域内联网售票,但在经济不发达地区和大多数三级以下客运站, 还是采用传统的售票方式。在没有实现联网售票的地区,旅客购票是十分不便的。互相之间的发车信息沟通缺乏渠道,互相之间不能实现互售。出行者购票,并不知道各站的具体班次,也不知道去哪个站可以买到,加之公路客运的特点是一段时期内变化较大,班次和发班时间往往根据季节和客流量大小有所调整, 出行人更是难以把握。而在南方一些城市密集地区,客运比较发达,售票的信息化水平相对较高。汽车售票管理系统主要用于车站日常的票务处理。 车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、 汽车站售票工作的管理人员与系统管理员。现今的社会发展迅速,汽车成为了人们在交通方面不可缺少的交通工具为了给人们带来方便快捷的交通环境,公路系统采取提高汽车的速度,增加客运汽车等等从而来满足大量的旅客的乘车需求。如此的情况之下,售票系统的需要自然是相当必要的。目前,售票系统在国内外都已经得到了广泛的应用, 无论是在飞机场,火车站,还是汽车站,都是借助于售票系统进行售票的。1.2系统目标实现方便、快速售票;使汽车客运中心管理手段现代化,减轻工作人员的工作强度,提高工作效率,减少在售票工作中的人为差错;保证售票员和售票窗口可灵活增减;帮助工作人员掌握每天的客票收入情况实现对业务信息的高效管理。1.3系统开发方法此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和SqlServer数据库进行简要介绍。 MyEclipseMyEclipse,是一个十分优秀的用于开发 Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行 tomcat时,它实际上作为一个与Apache独立的进程单独运行的。SqlServer提供TCP/IP、ODB(和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说, SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本。JSP技术使用Java编程语言编写类XML的tags和scriptlets ,来封装产生动态网页的处理逻辑。网页还能通过 tags和scriptlets 访问存在于服务端的资源的应用逻辑。 JSP的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML弋码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个 HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的 HTMLM面返回给客户端的浏览器。 Servlet是JSP的技术基础,而且大型的 Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发, 在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,至U多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。多样化和功能强大的开发工具支持。 Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下 (5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。 JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。 内部对象说明:request客户端请求,此请求会包含来自 GET/POST青求的参数;response网页传回客户端的响应; pageContext网页的属性是在这里管理;session与请求有关的会话; applicationservlet 正在执行的内容;out用来传送响应的输出流;config 代码片段配置对象;pageJSP网页本身;exception针对错误网页,未捕捉的例外1.4开发计划根据社会上现有的一些汽车售票系统,我们小组打算从其内外部环境、软硬件环境、人员配置情况、对汽车售票系统进行深入研究,进度可划分为:初步调查、可行性分析、详细调查、系统分析、系统设计和系统实施六个阶段。详情可

见下面表格:a.经济可行性在一定程度上讲汽车票预定系统对汽车运输公司而言在长期利益上看是有很大的收益的,故在某种意义上讲经济上是可行的。b.社会可行性汽车票预定系统是一个广大旅客出行的系统,它为旅客提供了便捷的服务,为汽车运输公司减少工作量,故在社会可行性方面是毋庸置疑的。1.6系统设计目的设计人员设计售票管理系统的最终目标是使汽车客运中心管理手段现代化,减轻工作人员的工作强度,提高工作效率,减少在售票工作中的人为差错;保证售票员和售票窗口可灵活增减;帮助工作人员掌握每天的客票收入情况实现对业务信息的高效管理;方便旅客对车次、票价等信息的查询,帮助旅客及时了解发车时间、票价、车次等情况。本系统的总体设计原则是:“立足现在,着眼未来;总体规划,分步实施”。即在方案总体的设计和选型中要充分考虑技术的发展,力求所用技术在今后相当长的一段时间内不落后;系统除具有较高的可靠性外,还将有良好的灵活性和可伸缩性,以利于以后系统的扩展;考虑到硬件更新换代

周期短,因此所选设备应可靠、经济、实用;软件开发除采用新的开发工具外,还要设计良好的接口,以利于功能模块的增加。总之,系统的设计应遵循科学性、安全性、可靠性、灵活性、实用性和经济性相结合的原则第二章系统分析2.1系统需求分析具体内容通过全面收集汽车售票系统资料,进行系统规划,系统分析,进行可行性研究,争取达到以下系统目标:1•登录功能:系统管理员权限登陆。用户通过输入不同用户名和密码进行身份验证。2.车票信息查询功能:由汽车站的普通售票人员通过检索入口,查询车票信息,并进行排序。•修改功能:系统管理员则能实现系统用户的添加,修改系统管理员的密码,以此确保该系统能够安全操作,避免不必要的损失。•汇总功能:对当天车票的信息进行汇总。能够实现车站车次及线路信息的管理,对车次及线路的变动信息及时更新。打印输出(生成曲线图和报表)。统计管理(按时间、站点、线路等不同维度统计售票情况,生成曲线图和报表,分析运营状况分析。2.2业务流程分析登陆业务流程图车票信息查询业务流程图修改车辆信息业务流程图.添加管理员业务流程图2.3数据流程分析a.登录数据流程图P01管理员名密码b.售票过程数据流程图购票信息顾客登录汽车售系统D4管理员信息表汽管理员名密码b.售票过程数据流程图购票信息顾客登录汽车售系统D4管理员信息表汽购票信息购票信息Di车票信息表缺票订票失败c•增添管理员账户P03学生信息D01管理员信息核对并存档D3车票信息表增删改查D2车辆信息表2.4数据字典D02票号、票价、车次管理、日期购票信息Di车票信息表缺票订票失败c•增添管理员账户P03学生信息D01管理员信息核对并存档D3车票信息表增删改查D2车辆信息表2.4数据字典D02票号、票价、车次管理、日期管车型、开车时间、起始站、终点站、数据流名称:车票简述:车票有关信息数据流来源:客户执行售票操作结果数据流去向:购票客户数据流组成:车票编号+车票类型+车次信息+票价信息售票记录:票号,起始站,终点站,票价,车次,日期,车型,售出时间订票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型车票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型4.处理过程车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类,形成确定的车票记录。查询:将顾客需要的车票信息输入系统,并查询其是否可供应。查询顾客信息:为订票所设,将顾客的准确信息记录,为其预定所车票。处理订票:进行订票交易,工作人员为顾客预定其所需车票,并在系统中作相应记录,确定订票记录。处理退票:进行退票交易,工作人员为顾客办理退票手续,并在系统中作相应记录,确定退票记录。数据字典卡片数据项| 表5-1.1数据字典(一) No : 01 编号:I01_01 名称:busID 别名:序列号简述:车次编号续值类型(char)连长度:10值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.2数据字典(一) No 02 编号:I01_02 名称:busType 别名:型号简述:汽车型号续值类型(int)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义

备注:TOC\o"1-5"\h\z数据项 表5-1.3 数据字典(一) No 03 编号:I01_03 名称:PlateNumber 别名:车牌号简述:车牌号续值类型(char)连长度:50值域:与其他值的运算关系:散值值离 值含 义值含 义备注:TOC\o"1-5"\h\z数据项 表5-1.4 数据字典(一) No 04 编号:I01_04 名称:busHolder 别名:责任人简述:相应车次的责任人续值类型(char)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义备注:TOC\o"1-5"\h\z数据项I 表5-1.7 数据字典(一) No05编号:101_05 名称:lineID 别名:线路号简述:线路编号

续值类型(char)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.7 数据字典(一) No 06 编号:I01_06 名称:STime 别名:发车时间简述:发车时间续值类型(char)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.7 数据字典(一) No 07 编号:101_07 名称:ntime 别名:发车时间简述:发车时间续值类型(char)连长度:50值域:与其他值的运算关系:散含 义值含 义

值备注:数据项 表5-1.8 数据字典(一) No 08 编号:101_08 名称: Date 别名:日期简述:当前日期续值类型(nchar)连长度:50值域:与其他值的运算关系:散值值离 值含 义值含 义备注:数据项| 表5-1.13 数据字典(一) No 09 编号:I01_09 名称:start 别名:起始站简述:汽车起始站续值类型(char)连长度:值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.9 数据字典(一) No10编号:101_10名称:编号:101_10名称:des别名:终点站简述:汽车到达的终点站续值类型(nchar)连长度:10值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.7 数据字典(一) No 11 编号:I01_11 名称:ticketID 别名:票号简述:车票的编号,和线路号对应续值类型(char)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.7 数据字典(一) No 12 编号:101_12 名称:AllNum 另V名:总票数简述:车票总数续值类型(char)连长度:50值域:与其他值的运算关系:散含 义值含 义

值备注:数据项| 表5-1.7 数据字典(一) No 13 编号:I01_13 名称:leftNum 别名:余票简述:车票剩余的数量续值类型(char)连长度:50值域:与其他值的运算关系:散值值离 值含 义值含 义备注:数据项| 表5-1.10 数据字典(一) No 14 编号:101_14 名称:Price 别名:价格简述:汽车票的价格续值类型(int)连长度:值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.7 数据字典(一) No 15 编号:I01_15名称:mid别名:管理员的账号简述:管理员登录帐号

续值类型(char)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据项 表5-1.7 数据字典(一) No 16 编号:101_16 名称:pwd 别名:管理员密码简述:管理员密码续值类型(char)连长度:50值域:与其他值的运算关系:散值离 值含 义值含 义备注:数据结构 表5-2.1 数据字典(二) No : 17编号:D01_01 名称:dbo.t_bus 别名:汽车表简述:主要介绍汽车的一些基本信息组成:车次编号+汽车型号+车牌号+责任人+经营路线+座位限额+发车时间数据结构| 表5-2.2数据字典(二) No 18 编号:D01_02 名称:dbo.t_line 别名:座位表简述:线路的基本信息组成:车次编号+日期+终点站+座位号+线路号+始发站+发车时间+持续时间数据结构| 表5-2.3数据字典(二) No : 19 编号:D01_03 名称:dbo.t_Price 别名:价格表简述:介绍汽车票价格的基本信息组成:起始站+终点站+车次编号+票价+车票号数据存储| 表5-3数据字典(三) No : 20 编号:D1 名称:汽车表 别名:bus简述:存储汽车相关的信息组成:汽车编号+汽车型号+车牌号+责任人+经营路线+座位限额关键字:汽车编号相关处理:记录长度:记录数:数据量:数据存储 表5-3 数据字典(三) No : 21编号:D2 名称:线路表 别名:line简述:存储线路相关的信息组成:线路号+始发站+终点站+始发时间+持续时间+日期+汽车号关键字:线路编号相关处理:记录长度:记录数:数据量:数据存储 表5-3 数据字典(三) No : 22编号:D3 名称:车票表 别名:ticket简述:存储车票相关的信息

组成:车票编号+车票价格+总数量+剩余数量关键字:车票编号相关处理:记录长度:记录数:数据量:数据存储| 表5-3 数据字典(三) No : 22 编号:D4 名称:管理员表 另V名:Manager简述:存储管理员相关的信息组成:管理员帐号+密码关键字:管理员帐号相关处理:记录长度: 记录数:数据量:数据流| 表5-4.1 数据字典(四) No :___23 编号:D01 名称:查询 别名:query简述:查询相关汽车运营情况组成:日期+起始站+终点站+汽车编号+座位号+票是否岀售+车票价格+车票折扣若为数据流来源:售票系统去向:客户峰值流量:数据流| 表5-4.2 数据字典(四) No :___24 编号:D02 名称:订票 别名:DingPiao简述:进行订票组成:日期+起始站+终点站+汽车编号+座位号+车票价格+记录号若为数据 来源:客户去向:售票系统若为数据 来源:客户去向:售票系统峰值流量:数据流| 表5-4.3 数据字典(四) No :___25 编号:D03 名称:退票 别名:TuiPiao简述:退票相关信息组成:日期+起始站+终点站+汽车编号+座位号+车票价格+记录号若为数据流来源:客户去向:售票系统峰值流量:处理| 表5-5.1 数据字典(五) No :___26 编号:P01 名称:查阅汽车信息输入信息:日期,起始站,终点站数据存储:汽车表输出信息:汽车发车日期时间,汽车起始站,终点站,汽车编号,座位号,票是否出售,车票价格激发条件:提交简要说明:加工逻辑:系统核实在该日期相应运营路线是否有汽车运营出错处理:执行频率:根据实际情况进行处理2.5面向对象分析管理员用例图a管理员登陆顺序图b增加车辆信息顺序图:(其他操作类似,不再赘述)2.6系统测试计划包括:功能测试,界面测试,性能测试,性能评价,负载测试,强度测试,压力测试,效率测试,报表测试,安全性测试,多用户测试,容量测试,配置测试,安装卸载测试,加密测试?第3章系统设计3.1模块结构设计本系统主要分为五大模块,分别为车次管理,票价管理,票务管理,用户管理,查询管理。其中每个模块下面又包含能够实现基本功能的小模块。

3.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售票信息表字段名称数据类型必填字段主键ticketIDnchar(4)YYallNumIntYleftNumIntYpriceIntY表4管理员信息表字段名称数据类型必填字段主键mIDvarchar(20)YYpwdvarchar(20)Y1逻辑设计数据库关系模型如下:车辆(车辆号,载客量,车牌号,司机)线路(线路编号,始发站,终点站,发车日期,发车时间,耗时,车辆编号 )售票信息(线路编号,总票数,余票)管理员(管理员账号,密码)2物理设计数据库应存放在服务器端, 保证数据库的存储空间在数据量的 3倍左右,以方便数据备份和数据恢复操作。外部接口设计1用户界面用户界面多为链接操作,插入和修改信息的操作。背景采用浅蓝色,文字采用黑色宋体字,查询结果显示在中间位置。2软件接口实现google浏览器或者IE与sqlsever2005的接口(通过Tomcat服务器)。出错处理设计1出错处理信息1) 输入格式错误,探出提示框显示“请按照固定格式输入信息”等字样;2)程序数据基本错误,探出提示框显示“系统数据错误”等字样,并安全退出程序;3) 程序严重错误,探出提示框显示“请将问题发送至开发者邮箱”等字样,并强行退出程序。2出错处理对策1) 输入不合法错误,给予正确的格式提示;2) 由于程序造成的基本错误,在保护数据库安全的情况下退出程序并重新自启动,再根据日志来恢复4) 定期对数据库进行备份;3.3详细设计服务器端:存放数据库,开启服务器Tomcat,等待管理员那边PC端的请求,根据请求内容查询数据库把查询的内容传回管理员的 PC端进行显示。执行一个请求结束后继续等待下一个请求。管理员PC端:首先要通过登陆界面的验证, 输入密码用户号检验成功进入操作界面,所有操作以树型结构显示界面的左边栏, 数据显示在右边栏目中;点击具体操作的链接点后会把接收到的的数据显示在右边栏目中。1模块设计1)登录模块功能:管理员输入密码和用户名点击登入, 服务器检验密码和用户是否正确, 正确则可以入操作界面。性能:方便快捷;相应速度快;界面友好,带有错误提示。输入项目:账号和密码。输出项目:跳到登入失败或者进入操作界面。2) 车辆信息管理功能:可以添加汽车信息,删除汽车信息,修改汽车信息,查询所有的汽车信息。性能:方便快捷;相应速度快;界面友好,带有错误提示。输入项目:汽车编号,载客量,车牌号,司机。输出项目:保存添加或者修改后立即刷新界面显示添加后的数据。3) 线路管理功能:可以添加路线,删除路线,修改路线,显示所有线路。性能:方便快捷;相应速度快;界面友好,带有错误提示。输入项目:添加和修改包括线路号、目的地,出发地,出发时间,耗时,使用车辆的编号。输出项目:线路编号,目的地,出发地,出发时间,行驶时间,余票。4) 管理员信息管理:功能:可以添加和删除新管理员。性能:方便快捷;相应速度快;界面友好,带有错误提示。输入项目:添加和修改管理员账号和密码。输出项目:现有管理员信息。2算法设计登陆部分:首先输入用户号和密码,进行验证,连接服务器的数据库检查输入的用户名是否存在并且密码是否正确,正确则可以操作,不正确显示登入失败。车辆信息管理:点击汽车信息链接后会发送请求数据库获取所有数据库中的汽车信息,并且再右边栏目中进行显示。输入内容点击保存即可保存到数据库中; 如果修改则需要选中修改的行进行修改后保存的数据库中。线路信息管理:点击线路信息链接后会发送请求数据库获取所有数据库中的线路信息,并且再右边栏目中进行显示。输入内容点击保存即可保存到数据库中; 如果修改则需要选中修改的行进行修改后保存的数据库中。管理员信息管理:点击管理员信息链接后会发送请求数据库获取所有数据库中的管

如果理员信息,并且再右边栏目中进行显示。 输入内容点击保存即可保存到数据库中;如果修改则需要选中修改的行进行修改后保存的数据库中333程序逻辑1)登入界面图5登入界面N-S图2)汽车信息管理、线路信息管理、管理员信息的程序逻辑如下:软件接口:在这里主要考虑软件与操作系统的接口,这里使用 java语言开发。Jdk1.7具有较好的跨平台兼容性。除此之外,还要配置服务器端,开启服务器程序 Tomcat6.0,等待可无端请求。建立连接后通过 SQL语言Tomcat会自动完成对数据库的操作。硬件接口:可用的网络链接,服务器端有较大的硬盘容量, 较好的CPU来提高检索速率。因为开发的软件较小。可以严个测试录入数据的安全性。 准备多个测试用例(实用软件测试的方法)检验系统的健壮性。同时检查形同日志,以及异常后数据库能发保持完整性。3.4性能需求1) 查询时保证查全率,所有在相应域中与查询关键字相符的记录都应能查到;2) 查询时保证查准率,所有查询记录都是希望值。3) 修改记录同步,不出现一方有时令一方没有的情况。1)小型库中的查询、修改等操作的响应时间应控制在 0.5秒钟以内;2)增加数据量时也应将响应时间控制在 2秒以内;3)当数据多至超出响应时间时,应提供更新以控制响应时间。1) 满足运行环境在允许操作系统之间的安全转换要求;2) 满足与其他应用软件不冲突的独立运行要求。3.5运行需求1)屏幕格式:多窗口运行,采用 B/S,使用myeclipse2013和jdk1.6制作,完全兼容Windows平台。2) 报表格式:符合打印要求,与常规打印机接口匹配。3) 菜单格式:采用选项菜单等方式。1)笔记本电脑1) 运行于Windows操作系统之上;2)需要连接小型数据库 sqlserver2005和系统类库,使用Tomcat服务器。1) 用户输入错误格式时应给予改正提示;2) 数据库更改错误时应自行缓和关闭并重启;3) 若运行时遇到不可恢复的系统错误时,应保证数据库的完好无损;4) 其它故障问题可与开发人员联系。综上可知,基本要求如下:1) 体系结构:B/S2) 操作系统:Windows系列)数据库管理系统:sqlserver20054) 开发工具:myeclipse、jdk1.6、Tomcat7.05) 软件需求:操作系统Windows2000AdvaneeServer以上,数据库软件sqlserver2005,数据库服务器端软件Tomcat7.03.6其他需求除了基本要求,还应该确保软件的安全性:1) 提供管理员的密码保护、密码修改功能;2) 提供可靠的软件逻辑机制,减少外部侵入的风险。第四部分主要界面截图及代码4.1数据库截图4.2配置截图(jdk安装和环境变量配置省略)4.3运行截图4.4相关代码1、方法包packagesen;publicclassDBUtilbus{//开通新航线添加新票 (被addLine调用)publicstaticvoidaddticket(StringlinelD,StringbusID, intprice){try{intnum=0;Stringupdate_sql= "";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();update_sql="selectbusSizefrombuswherebusID=" +"'"+buslD+"'"System.out.println(update_sql);ResultSetrs=st.executeQuery(update_sql);rs.next();num=lnteger.parseInt (rs.getString(1));rs.close();update_sql="insertintoticketvalues('" +linelD+ "',"+num+","+num+","+price+")";st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加新运营路线publicstaticvoidaddLine(StringlineID,Stringstart,Stringdes,Stringdate,Stringstime,Stringntime,StringbusID){try{Stringupdate_sql="insertintolinevalues('" +linelD+ "','"+start+"','"+des+"','"+date+"','"+stime+"','" +ntime+"','"+busID+"')";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加车辆publicstaticvoidaddbus(StringbusID, intbusSize,StringbusNum,StringbusDriver){ try{Stringupdate_sql="insertintobusvalues('"+buslD+"',"+busSize+",'" +busNum+"','" +busDrive叶"')";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");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();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}publicstaticArrayListvString[]>getLinet(){ArrayListvString[]>al= newArrayList<String[]>();try{Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectstart,des,date,stime,ntime,buslD,price,allNum,leftNumfromticket,linewhereticket.linelD=line.linelDandticket.leftNum>0" );while(rs.next()){ String[]rows=newString[9];for(inti=1;i<=9;i++){rows[i-1]=rs.getString(i);}al.add(rows);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnal;}//获取管理员信息publicstaticArrayListvString[]>getManager(){ArrayList<String[]>al= newArrayList<String[]>();try{Class.forName(iver");Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");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;}//获取售票信息publicstaticArrayListvString[]>getSalet(){ArrayList<String[]>al= newArrayList<String[]>();try{Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery( "select*fromticket" );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;}//获取车辆信息publicstaticArrayList<String[]>getBusIfor(){ArrayListvString[]>al= newArrayList<String[]>();try{Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");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;}publicstaticvoidbus(Stringpid){}2、index.jsp<%@pagecontentType ="text/html;charset=utf-8"<%@pagelanguage="java"import<html>="java.sql.*"%><%@pagecontentType ="text/html;charset=utf-8"<%@pagelanguage="java"import<html>="java.sql.*"%>%>vhead><metahttp-equivtype="text/css"<!--="Content-Type"content="text/html;charset=utf-8"><style<metahttp-equivtype="text/css"<!--="Content-Type"content="text/html;charset=utf-8"><style:bold;:bold;italiccolor:#006699;}:cover;:cover;color:silver}.STYLE2.STYLE4{color{color:#990000}:#000000}</style<linkcolor:silver}.STYLE2.STYLE4{color{color:#990000}:#000000}</style<linkhref="Accessible_Design.css"rel="stylesheet"type="text/css"><style<!--type="text/css">.STYLE5{color:#FF0000}</style</head><body>action="checklogin.jsp"align="center"bordercolor="#000099"action="checklogin.jsp"align="center"bordercolor="#000099"<tablewidth="260"border="1"bgcolor="#9999FF"class="footer"<tr><tdwidth="64"><spanclass="StoryContentColorSTYLE5" >用户</span><spanclass="STYLE5">:</span></td><tdwidth="180"><inputname="mid"type="text"/></td></tr><tr><td><spanclass="STYLE4STYLE5">密码:</span></td><td><input name="pwd"type="password"/></td></tr><tr><td></td>

<td>vspanclass="STYLE2"><inputtype="submit"value="登录"/><inputtype="reset"value="重置"/></span></td></tr></table></form></body></html>3、checklogin.jsp<%@pagecontentType ="text/html;charset=UTF-8" %><%@pageIanguage="java"import="java.sql.*"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+ "://" +request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><base<title<meta>MyJSP'checklogin.jsp'startingpagehttp-equiv</title>="pragma"content="no-cache"><meta<meta<meta<metahttp-equivhttp-equivhttp-equivhttp-equiv="cache-control"="expires"="keywords"="description"content="no-cache" >content="0">content="keyword1,keyword2,keyword3"content="Thisismypage"href="<%=<base<title<meta>MyJSP'checklogin.jsp'startingpagehttp-equiv</title>="pragma"content="no-cache"><meta<meta<meta<metahttp-equivhttp-equivhttp-equivhttp-equiv="cache-control"="expires"="keywords"="description"content="no-cache" >content="0">content="keyword1,keyword2,keyword3"content="Thisismypage"<!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head><body><%Stringmid;Stringpwd;booleanflag=falseStringsql= "";"mid")!=null)&&(request.getParameter("pwd")!=null)if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null))mid=request.getParameter( "mid");pwd=request.getParameter( "pwd");try{sql="select*from[manager]wheremid='" +mid+"'andpwd='"+pwd+Class.forName();Connectioncon=DriverManager.getConnection( "jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery(sql);if(rs.next()){flag=true;}rs.close();st.close();con.close();if(flag==true){response.sendRedirect( "fenp.jsp");}else{response.sendRedirect( "loginfail.jsp" );}}catch(Exceptione){e.printStackTrace();out.println(e);}finally {}}%></body></html>4、fenp.jsp<%@pagelanguage="java"import="java.util.*,sen.DBUtilbus"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">vhtml>vhead>vbase<title>MyJSP'MyJsp.jsp'startingpage</title><meta<meta<metahttp-equivhttp-equivhttp-equiv="pragma"content="cache-control"="no-cache">content="no-cache" ><meta<metahttp-equivhttp-equiv="expires"content="0">="keywords"="description"content="keyword1,keyword2,keyword3"content="Thisismypage"<!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head>vframesetrows="10%,*">vframescrolling="no"src="head.jsp"name="top"><framesetrows二cols="15%,*"><framesrc="left.jsp" name="left" ><framesrc="busline.jsp" name="main"></frameset></frameset></body></html>5、Head.jsp<%@pagecontentType="text/html;charset=gb2312" %>vbase<title>MyJSP'MyJsp.jsp'startingpage</title><meta<meta<metahttp-equivhttp-equivhttp-equiv="pragma"content="cache-control"="no-cache">content="no-cache" ><meta<metahttp-equivhttp-equiv="expires"content="0">="keywords"="description"content="keyword1,keyword2,keyword3"content="Thisismypage"<!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head>vframesetrows="10%,*">vframescrolling="no"src="head.jsp"name="top"><framesetrows二cols="15%,*"><framesrc="left.jsp" name="left" ><framesrc="busline.jsp" name="main"></frameset></frameset></body></html>5、Head.jsp<%@pagecontentType="text/html;charset=gb2312" %><html><head><title>head</title><meta<linkhttp-equiv ="Content-Type"href="colors2.css"rel="stylesheet"content="text/html;charset=gb2312"type="text/css"><styletype="text/css"><!--body{background-image :url(image/tu2.jpg)--></style><link href="../../../../Documents/rel="stylesheet"type="text/css">未命名站点1/CSS/Accessible_Design.css"</head><bodytext="#0000FF"><h1align="center"a><strongxfont_color_III!sizeface三"宋体">合肥市长途</body></html>6、left.Jsp<%@pagecontentType="text/html;charset=gb2312"import="java.util.*,sen.DBUtilbus" %><html><head><title >商品列表</title><styletype="text/css"><!--.STYLE1{font-family:"新宋体";font-style:italic;color:#0066FF;}body{background-image:url(image/42319.jpg)background-repeat :repeat}body,td,th{color:#CC0033;</style><metahttp-equiv ="Content-Type" content="text/html;charset=gb2312" ><linkhref="colors1.css"rel="stylesheet"type="text/css"><linkhref="colors5.css"rel="stylesheet"type="text/css"><linkhref="Level2_Verdana__Forms.css" rel="stylesheet"type="text/css"><linkhref="../../../../Documents/ 未命名站点1/CSS/Accessible_Design.css"rel="stylesheet"type="text/css"></head><body><h1align="left" ><spanclasstarget="main" ><kbd>汽车信息</I="footer"><ahrefkbd></a><kbd><br><body><h1align="left" ><spanclasstarget="main" ><kbd>汽车信息</I="footer"><ahrefkbd></a><kbd><br><ahref="buslineiftop.jsp"target="main"="businfor.jsp">线路信息</a><br>target="main"target="main"<ahref="saleticket.jsp"<ahref="managerbo.jsp"class="STYLE1"><kbd><ahref="managerbo.jsp">售票信息</a><br>>target="main"target="main"<ahref="saleticket.jsp"<ahref="managerbo.jsp"class="STYLE1"><kbd><ahref="managerbo.jsp">售票信息</a><br>>管理员信</a></kbd></span><spantarget="main" >息</a></kbd></span><br></h1></body</html>7、Busline.jsp<%@pagecontentTypeimport="java.util.*,sen.DBUtilbus"<html><head><title >线路信息列表</title="text/html;charset=utf-8"%><metahttp-equiv ="Content-Type"<linkhref="../../../../Documents/rel="stylesheet"type="text/css">7、Busline.jsp<%@pagecontentTypeimport="java.util.*,sen.DBUtilbus"<html><head><title >线路信息列表</title="text/html;charset=utf-8"%><metahttp-equiv ="Content-Type"<linkhref="../../../../Documents/rel="stylesheet"type="text/css"></head><bodybackground="image/tu3.jpg"<divalign="center" ><%ListvString[]>ll=DBUtilbus.getLinet();if(ll.size()==0)content="text/html;charset=utf-8"未命名站点1/CSS/Accessible_Design.css"{%>vfont_color三"red"_size三"20">对不起目前没有任何线路信息!!!</font><%}else{%></div>vtable align="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1" ><thbgcolor="d7d3d3">始发站</th>="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3">终点站</th>="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3">开车日期</th>>开车时间</th>>耗时/h</th>>大巴号</th>>票价</th>>总票数/张</th>>余票/张</th><%intc=0;for(String[]sa:ll)StringcolorStr=(c%2==0)C++;%>"#fffefe":"#9ccdfe"<tr><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[0]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[1]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[2]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[3]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[4]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[5]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[6]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[7]%x/td><td</tr>align="center"bgcolor="<%=colorStr%>'><%=sa[8]%x/td><%}%></table><%}%></body></html>8、businfor.jsp<%@pagecontentType ="text/html;charset=UTF-8" %><%@pagelanguage="java"import="java.sql<%@pageimport=".*,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(reqiuest.getParameter("UTF-8");num=newString(request.getParameter("UTF-8");busNum= newString(request.getParameter())))"busid").getBytes("ISO8859_1"),"num").getBytes("ISO8859_1"),"busNum").getBytes("ISO8859_1"),"UTF-8");driver=newString(request.getParameter("UTF-8");intallNum=lnteger.parselnt(num);driver=newString(request.getParameter("UTF-8");intallNum=lnteger.parselnt(num);DBUtilbus.addbus(busid,allNum,busNum,driver);}%>"driver").getBytes("ISO8859_1"),vformname=form1method="post"action ="businfor.jsp"vformname=form1method="post"action ="businfor.jsp"巴士号:<input载客量:巴士号:<input载客量:<inputsize="10" type="text"size="10" type="text"name="busid"></input>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><%@pagecontentType ="text/html;charset=UTF-8"import="java.util.*,sen.DBUtilbus"%><html><head><title><html><head><title>车辆信息列表</titlecontent="text/html;charset=utf-8"<linkhref="../../../../Documents/rel="stylesheet"type="text/css"</head><bodybackground="image/tu2.jpg"><metahttp-equiv ="Content-Type">未命名站点1/CSS/Accessible_Design.css"><div align ="center" ><%List<String[]>ll=DBUtilbus.getBuslfor();if(ll.size()==0){%>vfont_color="red"_size="20">对不起,目前没有任何车辆信息!!! </font><%}else{%></div><table align="center"width="75%"border="0"bgcolor="#000000"cellpadding ="1">cellspacing ="1"<caption><b>车辆信息歹列表</b></caption><tr>>巴士号>巴士号</th>>载客量</th>>车牌号</th><thbgcolor="d7d3d3"<thbgcolor="d7d3d3"<thbgcolor="d7d3d3">司机</th><thbgcolor="d7d3d3">删除</th></tr><%ntc=0;for(String[]sa:ll){StringcolorStr=(c%2==0) "#fffefe":"#9ccdfe"C++;%><tr><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[0]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[1]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[2]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[3]%x/td><tdalign="center"bgcolor="<%=colorStr %>'><ahref="delete.jsp">DEL</a></td></tr><%}%x/table>vformaction=""></form><%}%></body></html>9、buslineiftop.jsp<%@pagecontentType ="text/html;charset=utf-8" %><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="sen.DBUtilbus"%><%!TOC\o"1-5"\h\zStringlineid= "";Stringstart= "";Stringdes= "";StringbusID= "";Stringdate= "";Stringstime= "";Stringntime= "";Stringprice= "";%><%"linelD")!=null)if((request.getParameter(

"linelD")!=null)&&(request.getParameter(&&(request.getParameter(&&(request.getParameter(&&(request.getParameter(&&(request.getParamet

温馨提示

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

评论

0/150

提交评论