Java Web之从零开始开发火车票售票系统( 一 )

系统开发平台

开发工具:eclipse
数据库:MySQL
操作系统:Windows 10
开发语言与技术:Java、HTML、CSS、JavaScript、
Servlet、JSP、Tomcat

任务陈述

做一个火车票售票系统。主要功能包含如下:

  • 车次管理(车次、起止地点、到达时间、开车时间)
  • 坐席管理(车次、车厢号、座位号)
  • 售票(直达、换乘等)、改签、退票
  • 余票查询
  • 订单查询
  • 用户管理
  • 异常处理

创建数据库(trainbookingsystem)、用户表(user)

  • 用户表结构
属性类型是否为空描述
USER_PHONEvarchar(11)not null手机号码作为主码
USER_PASSWORDvarchar(20)not null用户密码
USER_NAMEvarchar(10)not null用户姓名
USER_SEXvarchar(1)not null用户性别
USER_EMAILvarchar(20)not null用户邮箱
USER_ADDRESSvarchar(50)not null用户地址
USER_IDvarchar(20)not null用户身份证
USER_STATUSdecimal(6,0)not null用户状态(1:学生,2:成人,3:管理员)

创建JSP文件

  • 创建Dynamic Web Project
  • 在WebContent下创建manage文件夹
  • 创建admin_user.jsp,admin_useradd.jsp,admin_index.jsp以及admin_menu.jsp(每个jsp文件中的菜单都是一样的,单独创建一个菜单JSP减少代码复用)
  • 结构如下
    在这里插入图片描述
  • admin_useradd.jsp效果如下
    在这里插入图片描述
  • admin_menu.jsp效果如下
    在这里插入图片描述

创建用户实体类

  • 在Java Resources/src下创建com.trainbooking.entity包

  • 在包中创建TRAINBOOKING_USER.java用户实体类

  • 结构如下
    在这里插入图片描述

  • 用户实体类部分代码如下,每一个变量的名称都需要之前创建的用户表中的属性名一样,构造方法在给出的代码中有显示,此外,实现所有的get和set方法。

加载驱动

  • 在Java Resources/src下创建com.trainbooking.dao包

  • 在包中创建Basedao.java加载驱动类

  • 结构如下
    在这里插入图片描述

  • 部分代码如下
    在这里插入图片描述

实现用户添加服务

  • 在Java Resources/src下创建com.trainbooking.service包
  • 在com.trainbooking.service包中创建TRAINBOOKING_USERDao.java用户服务类
  • 服务包括:用户添加(insert)、删除(del)、更新(update)、查询所有(可通过搜索手机号码)(selectAll)、获取总记录数和页数(将查询出来的数据表进行分页处理)(totalPage)以及selectByPhone(该服务在进行修改操作时用到)
  • 由于需要一步一步实现,因此先实现添加(insert)服务
  • 此处插入数据需要与数据库属性的顺序一致
    在这里插入图片描述

创建用户添加servlet

  • 在Java Resources/src下创建com.trainbooking.servlet.user包
  • 在com.trainbooking.servlet.user包下创建DoUserAdd.java(使用Post将用户添加请求内容存到数据库中)servlet
  • 结构如下
    在这里插入图片描述
  • 部分代码如下,由于处在初步阶段,现只进行新增状态码为2的成人用户,后续再作改进、完善。
    在这里插入图片描述

用户后台管理用户添加功能实现效果

  • 在此,已经完成了用户添加功能
  • 现有数据库数据如下
    在这里插入图片描述
  • 通过用户添加页面,将数据存入数据库中,页面如下
    在这里插入图片描述
  • 执行完成后,数据库中的数据得到更新如下(此处不是手动添加数据!!!是前端通过servlet对数据库进行更新的!!!)
    在这里插入图片描述

实现用户查询服务

  • 在service层中实现查询方法
  • 部分代码如下,其中获取总记录数和总页数的方法是为了更好的对表进行分页

在这里插入图片描述

创建用户查询servlet

  • 在com.trainbooking.servlet.user包下创建DoUserSelect.java的servlet(使用doGet()将用户查询请求转发至admin_user.jsp页面中)
  • 结构如下
    在这里插入图片描述
  • 部分代码如下

在这里插入图片描述

用户后台管理用户查询功能实现效果

  • 在此,已经完成了用户查询功能
  • 现有数据库信息以及未输入手机号码搜索的前端页面如下
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  • 输入手机号码查询时效果如下
    在这里插入图片描述

实现用户修改服务

  • 在service层中实现修改方法

  • admin_modify.jsp的部分代码如下
    在这里插入图片描述

  • 效果如下
    在这里插入图片描述

  • service层的修改代码如下
    在这里插入图片描述

  • 此处service中的通过电话号码查询是为了跳转到修改页面时,保留该用户的原信息到修改页面(通过后面的ToUserUpdate servlet实现)
    在这里插入图片描述

创建用户修改servlet

  • 在com.trainbooking.servlet.user包下创建ToUserUpdate.java(使用doGet()将用户修改请求转发到admin_usermodify.jsp)以及DoUserUpdate.java(使用doPost()将用户修改请求的内容存到数据库)servlet
  • 代码如下
    在这里插入图片描述
    在这里插入图片描述

用户后台管理用户修改功能实现效果

  • 在此,已经完成了用户修改功能
  • 比如要修改姓名为admin4这个用户的内容,点击右侧修改进入如下界面(由于servlet中的doGet方法中有查询该用户实体的所有信息,因此请求转发到admin_usermodify.jsp中保留着该用户的原信息)
    在这里插入图片描述

在这里插入图片描述

  • 此处,比如我们将性别修改成女,并点提交,我们可以看到表中姓名为admin4的性别变成了女
    在这里插入图片描述

实现用户删除服务

  • 在service层中实现删除方法

  • admin_user.jsp的部分代码如下(分批量删除、单个删除)

  • 避免用户误删,在误触删除键的情况下增加确定删除弹框二次确认
    在这里插入图片描述在这里插入图片描述

  • 以下为JavaScript代码,分别为单个删除确认,全选当前页,批量删除确认
    在这里插入图片描述

  • 效果如下
    在这里插入图片描述

  • 在service层的删除方法最为简单
    代码如下
    在这里插入图片描述

创建用户删除servlet

  • 在com.trainbooking.servlet.user包下创建DoUserDel.java的servlet
    结构如下
    在这里插入图片描述

  • 部分代码如下,处理get请求完成单个删除操作,处理post请求完成批量删除操作
    在这里插入图片描述

用户后台管理用户删除功能实现效果

  • 比如我们需要删除电话号码为115的用户,点击右侧删除键,会出现确认删除提示
    在这里插入图片描述
  • 确定后用户删除成功,且跳回当前页
    在这里插入图片描述
  • 完成批量删除前,需要勾选前面的小方框,后点击批量删除,会出现确认删除提示

在这里插入图片描述

  • 点击确定,完成删除
    在这里插入图片描述

后台管理之用户管理总结

开发步骤:①创建数据库 ②创建用户表 ③ 创建JSP文件 ④ 实现dao层 ⑤实现service层 ⑥ 实现controller层 ⑦调试测试

到此为止,火车票售票系统的七个功能之一已经完成了,其他六个功能几乎都是按照这个流程来走,之后的功能实现就是进行和这个功能类似的重复操作!

首先完成用户管理功能,是为了方便进行系统的注册和登录功能,毕竟只有用户登录成功后才能使用我们的系统功能不是吗?

因此由于已经完成了用户管理,接下来将完成系统的登录和注册!!!

将在第二篇博客中详述,《Java Web之从零开始开发火车票售票系统(二)》 https://blog.csdn.net/long99920/article/details/119415309?utm_source=app&app_version=4.12.0

源码自取地址:https://download.csdn.net/download/long99920/85585971

  • 15
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 42
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值