网上购票系统平台

网上购票系统平台

下面为部分内容

摘要

近年来随着信息技术的进步,网络的快速发展,简单的现实购票已经满足不了用户的需求。通过网上购票系统,避免了传统购票方式给人们带来的长途奔波,长时间排队的疲劳;同时,降低了购票交易时间,提高了工作效率。本系统针对用户的需求,可以注册、登录、查询车票信息、购票、退票、改签等,管理员还可以增加和删除列车信息。通过java EE,将注册用户信息存入数据库,实现了系统的注册登录功能,修改信息功能,查询车票,购买车票功能。

1.系统方案设计

1.1 需求分析

本系统的用户包括:普通用户、管理员。
(1)普通用户可以在网站上完成注册和登录。
(2)普通用户可以根据车站名和车次号查询列车信息。 ,
(3)普通用户在登录后可以在查询列车信息页面进行车票购买。。
(4)普通用户可以查询自己的车票信息,可以在里面完成改签和退票的功 能。
(5)管理员也可以使用以上功能, 管理员还可以根据需求添加和删除列车信息。

1.2 系统流程图

(1).后台业务流程:(管理员操作流程),管理员登录之后,首页会比普通用户多一个“管理”选项, 管理选项下可以执行添加列车信息和删除列车信息的操作,见下图:
在这里插入图片描述

(2).前台业务流程:(用户操作流程),注册之后登录会到达首页,用户可以在首页中点击用户信息、车次查询、车站查询、我的车票等选项跳转页面。在用户信息页面中,用户可以进行个人信息的编辑修改。我的车票页面中,用户可以查看个人的购票信息,并可以进行退票和改签。在车次查询页面,用户可以通过车次来查询列车信息。在车站查询页面,用户可以通过出发站和终点站来查询列车信息。见下图:

在这里插入图片描述

1.3功能结构分析

此系统主要包含两个方面,一为前台信息显示系统即普通用户空间、二为后台信息管理系统即管理员管理空间。前者是面向公众的一个窗口,通过前台信息显示系统方便普通游客查询列车信息,购买车票,查询已购车票等。后台信息管理系统在管理员登录后,管理员可以完成管理员独有的添加列车信息和删除列车信息的功能。
系统的基本功能结构图如图1.3所示:
在这里插入图片描述

用户模块:主要是为了让用户对网上购票系统平台有一个基本的了解。通过用户使用和反馈,管理员可以更好的调整列车信息。起可用模块的功能有:
查询列车:可以通过车次或车站名来查询列车信息。
购买车票:可以在查询列车的页面选择要购买的车票,在购买车票的页面填写个人信息实现购买车票的功能。
我的车票:用户可以查看自己已购车票。
退票、改签:用户可以在我的车票页面实现退票和改签的功能。
管理员模块:主要实现对列车信息的添加和删除。其个管理模块的功能有:
添加列车信息和 删除列车信息。

2.程序设计

2.1数据库设计

本系统采用Navicat Lite for MySQL开发工具。
根据系统需求分析和保证数据统一、完整和高效的原则,需要对数据库进行合理的设计。首先先在Navicat Lite for MySQL中建立一个名为“clks”的数据库来存放本系统所必须的数据表。
本系统数据库中主要的数据表分别为用户表(user),管理员表(administrator), 车票表(ticket),列车信息表(traininfo)。其中uid,Aid,tid,taid,是各个表的主键,Ptype为乘客类型(学生,成人等)。如表2-1至2-4所示:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 后台页面设计

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

3.部分代码

//根据车次查询列车信息

public List<TrainInfo> getTrainNum(String trainNum) {
   
 		
         Connection conn = DBUtil.getConn();//连接到数据库
  		
  		PreparedStatement pstmt = null;//MySQL中的预编译,减少SQL的编译错误并增加SQL的安全性。
  		ResultSet rs= null; //结果集,起到的作用是完成查询结果的储存功能。
  		TrainInfo traininfo = null;//TrainInfo 对象的创建
  		String sql="select taid,trainNum,firstStation,finallyStation,launchTime,duringTime,trainType from traininfo where trainNum= ?";//获取traininfo 表中trainNum=?的信息
        List<TrainInfo> list=new ArrayList<TrainInfo>();
  		try {
   
  			 pstmt = conn.prepareStatement(sql);
  			 pstmt.setString(1, trainNum);//将最上方传入的trainNum 放到sql对应的第一个问号中。
  			 //查询是否存在
 			 rs = pstmt.executeQuery();
 			 while(rs.next()) {
   
   			     int taid = rs.getInt("taid");
                 //获取信息并存入trainInfo对象中
 				 String trainNum2 = rs.getString("trainNum");
 				 String firstStation = rs.getString("firstStation");
 				 String finallyStation = rs.getString(
  • 4
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值