基于spring+springmvc+myBatis车票预订管理系统

源码 JAVA
0 331    下载0
常生
常生 2023-05-20 15:06:36
所需:166 积分 收藏
    1. 系统基于spring+springmvc+myBatis框架,数据库采用MySQL8.0,页面 jsp;idea和eclipse均可运行;
    2. 系统包含详细说明文档
    3. 车票管理员权限的实现

 

      1. 管理员登录的实现

 

输入管理系统的网址 http://localhost:8080/train/manage/login.jsp 进入系统登录页面,用户填写对应的用户名和密码, 点击登录按钮,如果正确则跳转到对应用户权限的系统主页面,若用户名或者密码错误则不进行跳转并清空表单数据。系统登录页面,如图2.2所示;

管理员首页,如图 2.3 所示。

 

2.2 管理员登录页

2.3 后台首页

功能实现:访问 login.jsp 进入系统登录页面,输入用户名和密码然后点击登录按钮, 触发监听,$.post("<%=Const.ROOT%>login",data,function(result)通过异步请求提交from表单找到并访问IndexController 中的 login()方法,根据用户名、密码、角色作为条件,通过调用usersService业务层接口的list()方法查询用户是否存在,若存在;通过gonggaoService业务层接口的list()方法查询公告信息;把查询的公告信息和用户信息放到session中;return "ok"返回状态ok到login.jsp页面。在login页面通过判断返回状态result=="ok"通过location.href="<%=Const.ROOT%>manage/index.jsp"跳转 到index.jsp页面。

      1. 用户管理的实现

 

管理成功登录车票管理系统之后,在菜单页点击用户管理会跳转对应的列表页;在用户管理功能管理员可以查看、修改用户信息和删除用户等操作,

如图 2.4 所示。

 

2.4 用户信息 管理

功能实现:users.jsp为用户管理列表页;管理员点击用户管理通过路径/train/manage/users.jsp跳转到users.jsp页面;进入页面默认通过url: '<%=Const.ROOT%>user/list'找到并访问UserController 中的list()方法执行查询逻辑,通过调用业务层接口usersService的page()方法查询用户信息;IPage<Users> page_user=new Page<Users>(page,limit)进行分页处理,page_user.getTotal()获取到数据信息总条数;借住ServerResponse工具类处理查询返回的数据添加code为0返回状态返回到users.jsp页面进行分页遍历显示;点击编辑按钮编辑弹窗显示,编辑修改的信息通过url:'<%=Const.ROOT%>user/update'找到并访问UserController 中的update()方法;通过调用业务层接口usersService的updateById()方法根据id更新用户信息;点击删除按钮通过<%=Const.ROOT%>user/delete',{'id':obj.data.id}找到并访问UserController 中的delete ()方法根据参数id删除 用户 信息。

      1. 车次管理的实现

管理成功登录车票管理系统之后,在菜单页点击车次管理会跳转对应的列表页;在订单管理功能管理员可以添加看、修改车次信息和删除车次信息等操作,

如图 2.5 所示。

 

2.5 车次管理页面

功能实现:checi.jsp为车次管理列表页;管理员点击车次管理通过路径/train/manage/checi.jsp跳转到checi.jsp页面;进入页面默认通过url: '<%=Const.ROOT%>checi/list'找到并访问CheciController中的list()方法执行查询逻辑,通过调用业务层接口checiService的page()方法查询车次信息;IPage<Checi> page_checi=new Page<Users>(page,limit)进行分页处理,page_checi.getTotal()获取到数据信息总条数;借住ServerResponse工具类处理查询返回的数据添加code为0返回状态返回到checi.jsp页面进行分页遍历显示;点击编辑按钮编辑弹窗显示,编辑修改的信息通过url:'<%=Const.ROOT%>checi/update'找到并访问CheciController中的update()方法;通过调用业务层接口checiService的updateById()方法根据id更新车次信息;点击删除按钮通过<%=Const.ROOT%>checi/delete',{'id':obj.data.id}找到并访问CheciController 中的delete ()方法根据参数id删除车次信息;点击点添加按钮新增弹窗显示,填写信息点击立即提交通过url="<%=Const.ROOT%>checi/add"找到并访问CheciController中的add()方法通过调用checiService业务层接口的save()方法执行数据保存持久化逻辑。

 

      1. 订单管理模块的实现

 

管理成功登录车票管理系统之后,在菜单页点击订单管理会跳转对应的列表页;在订单管理功能管理员可以查看订单和删除订单信息等操作,

如图 2.6 所示。

 

2.6 订单管理

功能实现:orders.jsp为订单管理列表页;管理员点击订单管理通过路径/train/manage/orders.jsp跳转到orders.jsp页面;进入页面默认通过url:'<%=Const.ROOT%>orders/list'找到并访问OrdersController 中的list()方法执行查询逻辑,通过调用业务层接口ordersService的page()方法查询订单信息;IPage<Orders> page_user=new Page<Orders>(page,limit)进行分页处理,page_orders.getTotal()获取到数据信息总条数;借住ServerResponse工具类处理查询返回的数据添加code为0返回状态返回到orders.jsp页面进行分页遍历显示;点击删除按钮通过<%=Const.ROOT%>orders/delete',{'id':obj.data.id}找到并访问OrdersController中的delete ()方法根据参数id删除订单信息。。

      1. 公告管理模块的实现

 

管理成功登录车票管理系统之后,在菜单页点击公告管理会跳转对应的列表页;在公告管理功能管理员可以添加、修改公告信息和删除公告信息等操作,

如图 2.7 所示。

 

2.7 公告管理页面

功能实现:gonggao.jsp为公告管理列表页;管理员点击公告管理通过路径/train/manage/gonggao.jsp跳转到gongao.jsp页面;进入页面默认通过url: '<%=Const.ROOT%>gonggao/list'找到并访问GonggaoController中的list()方法执行查询逻辑,通过调用业务层接口gonggaoService的page()方法查询系统公告信息;IPage<Gonggao> page_checi=new Page<Gonggao>(page,limit)进行分页处理,page_gonggao.getTotal()获取到数据信息总条数;借住ServerResponse工具类处理查询返回的数据添加code为0返回状态返回到gonggao.jsp页面进行分页遍历显示;点击编辑按钮编辑弹窗显示,编辑修改的信息通过url:'<%=Const.ROOT%>gonggao/update'找到并访问GonggaoController中的update()方法;通过调用业务层接口gonggaoService的updateById()方法根据id更新公告信息;点击删除按钮通过<%=Const.ROOT%>gonggao/delete',{'id':obj.data.id}找到并访问GonggaoController 中的delete ()方法根据参数id删除公告信息;点击点添加按钮新增弹窗显示,填写信息点击立即提交通过url="<%=Const.ROOT%>gonggao/add"找到并访问GonggaoController中的add()方法通过调用gonggaoService业务层接口的save()方法执行数据保存持久化逻辑。

      1. 留言管理模块的实现

 

管理成功登录车票管理系统之后,在菜单页点击订单管理会跳转对应的列表页;在订单管理功能管理员可以查看订单和删除订单信息等操作,

如图 2.8 所示。

 

2.8 留言管理

功能实现:message.jsp为留言管理列表页;管理员点击留言管理通过路径/train/manage/message.jsp跳转到message.jsp页面;进入页面默认通过url:'<%=Const.ROOT%>message/list'找到并访问MessageController 中的list()方法执行查询逻辑,通过调用业务层接口messageService的page()方法查询留言信息;IPage<Message> page_user=new Page<Message>(page,limit)进行分页处理,page_ message.getTotal()获取到留言数据信息总条数;借住ServerResponse工具类处理查询返回的数据添加code为0返回状态返回到message.jsp页面进行分页遍历显示;点击删除按钮通过<%=Const.ROOT%>message/delete',{'id':obj.data.id}找到并访问MessageController中的delete ()方法根据参数id删除留言信息。

    1. 系统用户权限的实现

 

      1. 用户注册模块实现

 

新用户在车票订票系统订票需要先进行注册账号操作,注册成功之后在登录登录页面进行登录操作,验证通过之后才可进入系统查询车票信息进行 购票操作;如图 2.9 所示;

2.9 用户注册页面

 

功能实现:在index.jsp 中点击注册,会通过a标签href="<%=Const.ROOT %>reg.jsp"跳转到reg.jsp注册页面,填写信息用户名、密码、姓名、电话、身份证号等信息,点击注册,在页面验证通过之后通过url="<%=Const.ROOT%>reg"找到并访问IndexController类的reg()方法;先通过业务层接口根据用户名查询usersService.getOne(wrapper)用户是否已存在;若存在返回return new ServerResponse<Users>("1", "该用户名已经存在!");反之则通过业务层接口usersService.save(user)保存用户信息到user数据表;返回给页面return new ServerResponse<Users>("0", "注册成功!")注册成功提示。

      1. 登录的实现

 

用户在车票订票系统订票需要先登录,在登录页面进行登录操作,验证通过之后才可进入系统查询车票信息进行 购票操作;如图 2.10 所示;

2.9 用户登录页面

 

功能实现:访问 login.jsp 进入系统登录页面,输入用户名和密码然后点击登录按钮, 触发监听,$.post("<%=Const.ROOT%>login",data,function(result)通过异步请求提交from表单找到并访问IndexController 中的 login()方法,根据用户名、密码、角色作为条件,通过调用usersService业务层接口的list()方法查询用户是否存在,若存在;通过gonggaoService业务层接口的list()方法查询公告信息;把查询的公告信息和用户信息放到session中;return "ok"返回状态ok到login.jsp页面。在login页面通过判断返回状态result=="ok"通过location.href="<%=Const.ROOT%>manage/index.jsp"跳转 到index.jsp页面。

      1. 订票功能的实现

 

用户在首页输入起点终点查询要选择的车次信息,选择座位类型点击预订即可完成预订票操作。

如图 2.10 所示

2.10 订票页面

功能实现: 在 index.jsp 为车票 预订页,输入起点和终点点击查询通过链接location.href="<%=Const.ROOT %>index?bsite="+data.field.bsite+"&esite="+data.field.esite找到并访问IndexController 中的 index()方法,根据页面传来的起点终点信息通过调用业务层接口checiService的list()方法查询车次信息返回给页面进行显示;选择要预定的座位类型后点击预订;通过url:携带车票及座位信息<%=Const.ROOT%>orders/add',{'cid':id,'sid':sid,'price':price,'bsite':'${bsite}','esite':'${esite}'}访问并调用OrdersController 中的 add()方法通过业务层接口ordersService的save方法进行预订票信息保存逻辑。

      1. 我的订单管理模块的实现

 

用户成功登录车票管理系统之后,在菜单页点击我的订单会跳转对应的列表页;在订单管理功能用户可以查看订单和删除订单信息以及取票和退票等操作,

如图 2.11 所示。

 

2.11 订单管理

功能实现:orders.jsp为我的订单列表页;用户点击我的订单管理通过路径href="<%=Const.ROOT %>orders/index?id=${sessionScope.users.id}"找到并访问OrdersController 中的index ()方法根据登录用户id信息为条件执行查询逻辑,通过调用业务层接口ordersService的list()方法查询我的订单信息;把查询的集合放到model里,model.addAttribute("list", list);返回的数据到orders.jsp页面进行遍历显示;点击删除按钮通过<%=Const.ROOT%>orders/delete',{'id':obj.data.id}找到并访问OrdersController中的delete ()方法根据参数id删除订单信息;点击退票根据url:<%=Const.ROOT %>orders/update',{'id':id,'status':'已退票'}访问update()方法根据 id更新订单 状态 为‘已退票’;点击取票根据url:<%=Const.ROOT %>orders/update',{'id':id,'status':'已取票'}访问update()方法根据 id更新订单 状态 为‘已取票’。

      1. 在线留言功能的实现

 

用户成功登录车票管理系统之后,点击在线留言标签页会跳转对应的标签页;在在线留言功能用户可以查看自己的留言和进行新的留言等操作,

如图 2.12 所示。

 

2.12 在线留言

功能实现:message.jsp为在线留言标签页;用户点击在线留言通过路径href="<%=Const.ROOT %>message/index">在线留言</a>找到并访问MessageController中的index ()方法根据登录用户id信息为条件执行查询逻辑,通过调用业务层接口messageService的list()方法查询我的留言信息;把查询的集合放到model里,model.addAttribute("list", list);返回的数据到message.jsp页面进行遍历显示;在在线留言页面填写留言标题和留言内容点击发表提交from表单通过action="<%=Const.ROOT%>message/add"找到并访问MessageController中的add ()方法执行留言信息保存逻辑。

      1. 个人中心功能的实现

 

用户成功进入系统点击个人中心可以查看到自己的详情信息,编辑信息点击修改可以更新个人信息,如图 2.13 所示。

 

2.13 个人中心

功能实现:update_users.jsp为个人中心标签页;用户点击个人中心通过路径href="<%=Const.ROOT %>user/toupdate?id=${sessionScope.users.id}">个人中心</a>找到并访问UserController中的toupdate()方法根据登录用户id信息为条件执行查询逻辑,通过调用业务层接口userService的getById()方法根据 id查询我的个人信息;把查询的用户信息 放到model里,model.addAttribute("user", user);返回的数据到message.jsp页面进行回显;在个人中心页面编辑个人信息点击修改通过url="<%=Const.ROOT%>user/update"找到并访问UserController中的update()方法执行个人信息更新保存逻辑。

回帖
    常生

    常生 (王者 段位)

    203 积分 (0)粉丝 (20)源码

     

    温馨提示

    亦奇源码

    最新会员