汽车站售票信息系统分析与设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息系统分析与设计
课程设计报告
课程信息系统开发与设计
课题汽车站售票管理信息系统
班级信息管理与信息系统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数据库进行简要介绍。

MyEclipse MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

可以这样认为,当在一台机器上配置好
Apahce服务器,可利用它响应对HTML页面的访问请求。

实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

SqlServer提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。

对于一般的个人使用者和中小型企业来说,SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。

插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。

JSP页面由HTML代码和嵌入其中的Java代码所组成。

服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

JSP技术的优点:
(1)一次编写,到处运行。

除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。

基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。

相比ASP/.net的局限性是显而易见的。

(3)强大的可伸缩性。

从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。

Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下 (5)支持服务器端组件。

web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。

JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求
的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理;session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP网页本身; exception 针对错误网页,未捕捉的例外
1.4开发计划
根据社会上现有的一些汽车售票系统,我们小组打算从其内外部环境、软硬件环境、人员配置情况、对汽车售票系统进行深入研究,进度可划分为:初步调查、可行性分析、详细调查、系统分析、系统设计和系统实施六个阶段。

详情可见下面表格:
1.5系统可行性分析
a.经济可行性
在一定程度上讲汽车票预定系统对汽车运输公司而言在长期利益上看是有很大的收益的,故在某种意义上讲经济上是可行的。

b.社会可行性
汽车票预定系统是一个广大旅客出行的系统,它为旅客提供了便捷的服务,为汽车运输公司减少工作量,故在社会可行性方面是毋庸置疑的。

1.6系统设计目的
设计人员设计售票管理系统的最终目标是使汽车客运中心管理手段现代化,减轻工作人员的工作强度,提高工作效率,减少在售票工作中的人为差错;保证售票员和售票窗口可灵活增减;帮助工作人员掌握每天的客票收入情况实现对业务信息的高效管理;方便旅客对车次、票价等信息的查询,帮助旅客及时了解发车时间、票价、车次等情况。

本系统的总体设计原则是:“立足现在,着眼未来;总体规划,分步实施”。

即在方案总体的设计和选型中要充分考虑技术的发展,力求所用技术在今后相当长的一段时间内不落后;系统除具有较高的可靠性外,还将有良好的灵活性和可伸缩性,以利于以后系统的扩展;考虑到硬件更新换代周期短,因此所选设备应可靠、经济、实用;软件开发除采用新的开发工具外,还要设计良好的接口,以利于功能模块的增加。

总之,系统的设计应遵循科学性、安全性、可靠性、灵活性、实用性和经济性相结合的原则。

第二章系统分析
2.1系统需求分析
具体内容通过全面收集汽车售票系统资料,进行系统规划,系统分析,进行可行性研究,争取达到以下系统目标:
1.登录功能:系统管理员权限登陆。

用户通过输入不同用户名和密码进行身份验证。

2.车票信息查询功能:由汽车站的普通售票人员通过检索入口,查询车票信息,并进行排序。

3.修改功能:系统管理员则能实现系统用户的添加,修改系统管理员的密码,以此确保该系统能够安全操作,避免不必要的损失。

4.汇总功能:对当天车票的信息进行汇总。

5.能够实现车站车次及线路信息的管理,对车次及线路的变动信息及时更新。

6.打印输出(生成曲线图和报表)。

7.统计管理(按时间、站点、线路等不同维度统计售票情况,生成曲线图和报表,分析运营状况分析。

2.2业务流程分析
a.登陆业务流程图
b.车票信息查询业务流程图
c.修改车辆信息业务流程图
d..添加管理员业务流程图
2.3数据流程分析
a.登录数据流程图
b.售票过程数据流程图
c.增添管理员账户
D修改车辆信息的数据流程图:
2.4数据字典
2.4.1数据项
票号、票价、车次、日期、车型、开车时间、起始站、终点站、
2.4.2数据流
数据流名称:车票
简述:车票有关信息
数据流来源:客户执行售票操作结果
数据流去向:购票客户
数据流组成:车票编号+车票类型+车次信息+票价信息
2.4.3数据存储
售票记录:票号,起始站,终点站,票价,车次,日期,
车型,售出时间
订票记录:票号,起始站,终点站,票价,车次,日期,开车时间,
车型
车票记录:票号,起始站,终点站,票价,车次,日期,开车时间,
车型
4.处理过程
车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类,
形成确定的车票记录。

查询:将顾客需要的车票信息输入系统,并查询其是否可供应。

查询顾客信息:为订票所设,将顾客的准确信息记录,为其预定所车票。

处理订票:进行订票交易,工作人员为顾客预定其所需车票,并在系统中作相应记录,确定订票记录。

处理退票:进行退票交易,工作人员为顾客办理退票手续,并在系统中作相应记录,确定退票记录。

数据字典卡片
表5-1.1 数据字典(一) No:
_____01_____
____02______
表5-1.3 数据字典(一) No:_____03_____
____04______
表5-1.7 数据字典(一) No:
____05______
表5-1.7 数据字典(一) No:____06______
____07______
表5-1.8 数据字典(一) No :
_____08_____
表5-1.13 数据字典(一) No

____09______
表5-1.9 数据字典(一) No:____10_____
表5-1.7 数据字典(一) No:____11______
表5-1.7 数据字典(一) No:____12______
表5-1.7 数据字典(一) No:
____13______
表5-1.10 数据字典(一) No:____14______
表5-1.7 数据字典(一) No:____15______
表5-1.7 数据字典(一) No :
____16______
表5-2.2 数据字典(二) No :
____18______
表5-2.3 数据字典(二) No :____19______
表5-3 数据字典(三) No:____21______
表5-3 数据字典(三) No:____22______
表5-4.1 数据字典(四) No:___23_______
表5-4.2 数据字典(四) No:___24_______
表5-4.3 数据字典(四) No:___25_______
2.5面向对象分析
2.5.1.用例图管理员用例图
2.5.2ER图
2.5.3顺序图
a管理员登陆顺序图
b增加车辆信息顺序图:(其他操作类似,不再赘述)
2.6系统测试计划
包括:功能测试,界面测试,性能测试,性能评价,负载测试,强度测试,压力测试,效率测试,报表测试,安全性测试,多用户测试,容量测试,配置测试,安装\卸载测试,加密测试
第3章系统设计
3.1模块结构设计
本系统主要分为五大模块,分别为车次管理,票价管理,票务管理,用户管理,查询管理。

其中每个模块下面又包含能够实现基本功能的小模块。

3.2数据库设计
3.2.1数据结构设计
各层次模块的数据结构表如下:
表2 线路信息表
表3 售票信息表
3.2.2数据库设计
1逻辑设计
数据库关系模型如下:
车辆(车辆号,载客量,车牌号,司机)
线路(线路编号,始发站,终点站,发车日期,发车时间,耗时,车辆编号)
售票信息(线路编号,总票数,余票)
管理员(管理员账号,密码)
2物理设计
数据库应存放在服务器端,保证数据库的存储空间在数据量的3倍左右,以方便数据备份和数据恢复操作。

3.2.3外部接口设计
1用户界面
用户界面多为链接操作,插入和修改信息的操作。

背景采用浅蓝色,文字采用黑色宋体字,查询结果显示在中间位置。

2软件接口
实现google浏览器或者IE与sql sever 2005的接口(通过Tomcat服务器)。

3.2.4出错处理设计
1出错处理信息
1)输入格式错误,探出提示框显示“请按照固定格式输入信息”等字样;
2)程序数据基本错误,探出提示框显示“系统数据错误”等字样,并安全退出程序;
3)程序严重错误,探出提示框显示“请将问题发送至开发者邮箱”等字样,并强行退出程序。

2出错处理对策
1)输入不合法错误,给予正确的格式提示;
2)由于程序造成的基本错误,在保护数据库安全的情况下退出程序并重新自启动,再根据日志来恢复
4)定期对数据库进行备份;
3.3详细设计
3.3.1代码设计
服务器端:存放数据库,开启服务器Tomcat,等待管理员那边PC端的请求,根据请求内容查询数据库把查询的内容传回管理员的PC端进行显示。

执行一个请求结束后继续等待下一个请求。

管理员PC端:首先要通过登陆界面的验证,输入密码用户号检验成功进入操作界面,所有操作以树型结构显示界面的左边栏,数据显示在右边栏目中;点击具体操作的链接点后会把接收到的的数据显示在右边栏目中。

3.3.2程序设计
1模块设计
1)登录模块
功能:管理员输入密码和用户名点击登入,服务器检验密码和用户是否正确,正确
则可以入操作界面。

性能:方便快捷;相应速度快;界面友好,带有错误提示。

输入项目:账号和密码。

输出项目:跳到登入失败或者进入操作界面。

2)车辆信息管理
功能:可以添加汽车信息,删除汽车信息,修改汽车信息,查询所有的汽车信息。

性能:方便快捷;相应速度快;界面友好,带有错误提示。

输入项目:汽车编号,载客量,车牌号,司机。

输出项目:保存添加或者修改后立即刷新界面显示添加后的数据。

3)线路管理
功能:可以添加路线,删除路线,修改路线,显示所有线路。

性能:方便快捷;相应速度快;界面友好,带有错误提示。

输入项目:添加和修改包括线路号、目的地,出发地,出发时间,耗时,使用车辆的编号。

输出项目:线路编号,目的地,出发地,出发时间,行驶时间,余票。

4)管理员信息管理:
功能:可以添加和删除新管理员。

性能:方便快捷;相应速度快;界面友好,带有错误提示。

输入项目:添加和修改管理员账号和密码。

输出项目:现有管理员信息。

2 算法设计
登陆部分:首先输入用户号和密码,进行验证,连接服务器的数据库检查输入的用户名是否存在并且密码是否正确,正确则可以操作,不正确显示登入失败。

车辆信息管理:点击汽车信息链接后会发送请求数据库获取所有数据库中的汽车信息,并且再右边栏目中进行显示。

输入内容点击保存即可保存到数据库中;如果修改则需要选中修改的行进行修改后保存的数据库中。

线路信息管理:点击线路信息链接后会发送请求数据库获取所有数据库中的线路信息,并且再右边栏目中进行显示。

输入内容点击保存即可保存到数据库中;如果修改则需要选中修改的行进行修改后保存的数据库中。

管理员信息管理:点击管理员信息链接后会发送请求数据库获取所有数据库中的管理员信息,并且再右边栏目中进行显示。

输入内容点击保存即可保存到数据库中;如果修改则需要选中修改的行进行修改后保存的数据库中
3.3.3程序逻辑
1)登入界面
2)汽车信息管理、线路信息管理、管理员信息的程序逻辑如下:
3.3.4接口
软件接口:在这里主要考虑软件与操作系统的接口,这里使用java语言开发。

Jdk1.7具有较好的跨平台兼容性。

除此之外,还要配置服务器端,开启服务器程序Tomcat6.0,等待可无端请求。

建立连接后通过SQL语言Tomcat会自动完成对数据库的操作。

硬件接口:可用的网络链接,服务器端有较大的硬盘容量,较好的CPU来提高检索速率。

3.3.5测试要点
因为开发的软件较小。

可以严个测试录入数据的安全性。

准备多个测试用例(实用软件测试的方法)检验系统的健壮性。

同时检查形同日志,以及异常后数据库能发保持完整性。

3.4性能需求
3.4.1数据精确度
1)查询时保证查全率,所有在相应域中与查询关键字相符的记录都应能查到;
2)查询时保证查准率,所有查询记录都是希望值。

3)修改记录同步,不出现一方有时令一方没有的情况。

3.4.2时间特性
1)小型库中的查询、修改等操作的响应时间应控制在0.5秒钟以内;
2)增加数据量时也应将响应时间控制在2秒以内;
3)当数据多至超出响应时间时,应提供更新以控制响应时间。

3.4.3适应性
1)满足运行环境在允许操作系统之间的安全转换要求;
2)满足与其他应用软件不冲突的独立运行要求。

3.5运行需求
3.5.1用户界面
1)屏幕格式:多窗口运行,采用B/S,使用myeclipse2013和jdk1.6制作,完全兼容
Windows平台。

2)报表格式:符合打印要求,与常规打印机接口匹配。

3)菜单格式:采用选项菜单等方式。

3.5.2硬件接口
1)笔记本电脑
3.9.3软件接口
1)运行于Windows操作系统之上;
2)需要连接小型数据库sql server 2005和系统类库,使用Tomcat服务器。

3.5.4故障处理
1)用户输入错误格式时应给予改正提示;
2)数据库更改错误时应自行缓和关闭并重启;
3)若运行时遇到不可恢复的系统错误时,应保证数据库的完好无损;
4)其它故障问题可与开发人员联系。

3.5.5基本要求
综上可知,基本要求如下:
1)体系结构:B/S
2)操作系统:Windows系列
)数据库管理系统:sql server 2005
4)开发工具:myeclipse、jdk1.6、Tomcat 7.0
5)软件需求:操作系统Windows 2000 Advance Server以上,数据库软件sql server 2005,
数据库服务器端软件Tomcat 7.0
3.6其他需求
除了基本要求,还应该确保软件的安全性:
1)提供管理员的密码保护、密码修改功能;
2)提供可靠的软件逻辑机制,减少外部侵入的风险。

第四部分主要界面截图及代码
4.1 数据库截图
4.2配置截图(jdk安装和环境变量配置省略)
4.3运行截图
4.4相关代码
1 、方法包
package sen;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
public class DBUtilbus
{
//开通新航线添加新票(被addLine调用)
public static void addticket(String lineID,String busID,int price) { try{
int num=0;
String update_sql="";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
update_sql="select busSize from bus where busID="+"'"+busID+"'";
System.out.println(update_sql);
ResultSet rs=st.executeQuery(update_sql);
rs.next();
num=Integer.parseInt(rs.getString(1));
rs.close();
update_sql=
"insert into ticket values('"+lineID+"',"+num+","+num+","+price+")";
st.executeUpdate(update_sql);
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//添加新运营路线
public static void addLine(String lineID,String start,String des,String date,String stime, String ntime,String busID )
{
try{ String update_sql=
"insert into line
values('"+lineID+"','"+start+"','"+des+"','"+date+"','"+stime+"','"+ntime+" ','"+busID+"')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
st.executeUpdate(update_sql);
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//添加车辆
public static void addbus(String busID,int busSize,String busNum,String busDriver)
{ try{String update_sql=
"insert into bus
values('"+busID+"',"+busSize+",'"+busNum+"','"+busDriver+"')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
st.executeUpdate(update_sql);
st.close();
con.close();
}
catch(Exception e)
{e.printStackTrace();}
}
//添加管理员
public static void addmanager(String mid,String pwd)
{ try{String update_sql=
"insert into manager values('"+mid+"','"+pwd+"')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
st.executeUpdate(update_sql);
st.close();
con.close();
}
catch(Exception e)
{e.printStackTrace();}
}
public static ArrayList<String[]> getLinet()
{ArrayList<String[]> al=new ArrayList<String[]>();
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(
"select
start,des,date,stime,ntime,busID,price,allNum,leftNum from ticket,line where ticket.lineID=line.lineID and ticket.leftNum>0");
while(rs.next())
{ String[] rows=new String[9];
for(int i=1;i<=9;i++)
{ rows[i-1]=rs.getString(i); }
al.add(rows);
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{e.printStackTrace();}
return al;
}
//获取管理员信息
public static ArrayList<String[]> getManager()
{ ArrayList<String[]> al=new ArrayList<String[]>();
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from manager");
while(rs.next())
{ String[] rows=new String[2];
for(int i=1;i<=2;i++)
{ rows[i-1]=rs.getString(i); }
al.add(rows);
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{e.printStackTrace();}
return al;
}
//获取售票信息
public static ArrayList<String[]> getSalet()
{ ArrayList<String[]> al=new ArrayList<String[]>();
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from ticket");
while(rs.next())
{ String[] rows=new String[4];
for(int i=1;i<=4;i++)
{rows[i-1]=rs.getString(i); }
al.add(rows);
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{e.printStackTrace();}
return al;
}
//获取车辆信息
public static ArrayList<String[]> getBusIfor()
{ ArrayList<String[]> al=new ArrayList<String[]>();
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from bus");
while(rs.next())
{ String[] rows=new String[4];
for(int i=1;i<=4;i++)
{ rows[i-1]=rs.getString(i); }
al.add(rows);
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{e.printStackTrace();}
return al;
}
public static void bus(String pid) {
}
}
2、index.jsp
<%@page contentType="text/html;charset=utf-8"%>
<%@page language="java"import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"><style type="text/css">
<!--
body,td,th {
font-weight: bold;
font-style: italic;
color: #006699;
}
body {background-image: url(b3fb43166d224f4a5818f9140bf790529822d130.jpg); background-size:cover;
color: silver;
}
.STYLE2 {color: #990000}
.STYLE4 {color: #000000}
-->
</style>
<link href="Accessible_Design.css"rel="stylesheet"type="text/css">
<style type="text/css">
<!--
.STYLE5 {color: #FF0000}
-->
</style>
</head>
<form name=form1method="post"action="checklogin.jsp">
<table width="260"border="1"align="center"bordercolor="#000099"
bgcolor="#9999FF"class="footer">
<tr>
<td width="64"><span class="StoryContentColor STYLE5">用户
</span><span class="STYLE5">:</span></td>
<td width="180"><input name="mid"type="text"/></td>
</tr>
<tr>
<td><span class="STYLE4 STYLE5">密码:</span></td>
<td><input name="pwd"type="password"/></td>
</tr>
<tr>
<td></td>
<td>
<span class="STYLE2">
<input type="submit"value="登录"/>
<input type="reset"value="重置"/>
</span></td>
</tr>
</table>
</form>
</body>
</html>
3、checklogin.jsp
<%@page contentType="text/html;charset=UTF-8"%>
<%@page language="java"import="java.sql.*"%>
<%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort ()+path+"/";
%>
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'checklogin.jsp' starting page</title>
<meta http-equiv="pragma"content="no-cache">
<meta http-equiv="cache-control"content="no-cache">
<meta http-equiv="expires"content="0">
<meta http-equiv="keywords"content="keyword1,keyword2,keyword3">
<meta http-equiv="description"content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String mid;
String pwd;
boolean flag=false;
String sql="";
if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null) )
{
mid =request.getParameter("mid");
pwd =request.getParameter("pwd");
try
{
sql="select * from [manager] where mid='"+mid+"' and pwd='"+pwd+"'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con=DriverManager.getConnection("jdbc:odbc:mydb","sa","1234");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql);
if(rs.next())
{ flag=true;
}
rs.close();
st.close();
con.close();
if(flag==true)
{。

相关文档
最新文档