基于ssm的航空售票系统

news2024/11/24 22:14:55

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经从做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言,只有实实在在的写点程序。

🍅文末获取联系🍅

        基于SSM的航空订票系统根据功能设计划分为管理员用户和注册用户,从这两种用户的功能所需展开设计,管理员对注册用户管理、航班管理、航班时刻管理、通知公告管理、订票管理、退票管理等;注册用户主要是注册成功后登录,机票查询,预定机票,退票、管理个人资料、修改密码、查看订票记录、查看退票记录等功能。

管理员功能实现

航班管理页面

管理员管理航班信息,添加航班的编号、出发地机场、出发地航站楼、目的地、目的地机场、目的地航站楼、行程时间、座位数、头等舱座位数、头等舱价格、经济舱价格、经济舱座位数,然后进行座位的排号,添加后可以修改、删除、搜索查看航班信息,如图所示:

相关代码:

public String mgHangList(Model model, QueryVo vo, HttpServletRequest rq, HttpSession httpSession,

@RequestParam(required = false, defaultValue = "1") Integer page,

@RequestParam(required = false, defaultValue = "10") Integer pageSize) {

PageHelper.startPage(page, pageSize);

HangExample example = new HangExample();

example.setOrderByClause("hid desc");

example.setDistinct(false);

HangExample.Criteria c = example.createCriteria();

if ((vo.getQname() != null) && !("".equals(vo.getQname()))) {

/*c.andHidLike("%" + vo.getQname() + "%");*/

c.andHnoLike("%" + vo.getQname() + "%");

c.andHbplaceLike("%" + vo.getQname() + "%");

c.andHbjichLike("%" + vo.getQname() + "%");

c.andHblouLike("%" + vo.getQname() + "%");

c.andHeplaceLike("%" + vo.getQname() + "%");

c.andHejichLike("%" + vo.getQname() + "%");

c.andHelouLike("%" + vo.getQname() + "%");

/*c.andHstatusLike("%" + vo.getQname() + "%");*/

c.andHtimeLike("%" + vo.getQname() + "%");

/*c.andHzwnumLike("%" + vo.getQname() + "%");

c.andHtdczwLike("%" + vo.getQname() + "%");

c.andHtdcpriceLike("%" + vo.getQname() + "%");

c.andHjjczwLike("%" + vo.getQname() + "%");

c.andHjicpriceLike("%" + vo.getQname() + "%");

c.andHrekLike("%" + vo.getQname() + "%");*/

}

List<Hang> list = hangService.GetList(example);

PageInfo<Hang> p = new PageInfo<Hang>(list);

Integer count = hangService.GetCountOfList(example);

model.addAttribute("ulist", list);

model.addAttribute("count", count);

model.addAttribute("p", p);

model.addAttribute("vo", vo);

return "/admin/hang/list";

}

注册用户管理页面

管理员对注册用户信息管理,查看用户的姓名、账号、性别、电话、邮箱信息、地址,并可以搜索、删除用户信息,如图所示:

相关代码:

public String doUserinfoUdt(Model model,Userinfo nsfo, HttpServletRequest rq, HttpSession httpSession) {

    Userinfo entity = userinfoService.GetInfoById(nsfo.getUid());

    

    entity.setUlog(nsfo.getUlog());

    entity.setUpwd(nsfo.getUpwd());

userinfoService.Update(entity);

model = new utils.BaseCls().setReModel(model, "201", , "/hyticket/ur/mgUserinfoList.action");

return "/admin/user/update";

public String delUserinfo(Model model, Integer id, HttpServletRequest rq, HttpSession httpSession) {

Userinfo entity = userinfoService.GetInfoById(id);

    entity.setUstatus(1);

userinfoService.Update(entity);

return "redirect:mgUserinfoList.action";

航班时刻管理页面

管理员管理航班的时刻信息,添加航班、出发地、出发地机场、目的地、目的地机场、出发时间、到达时间、行程时间,并可以搜索、修改、删除航班时刻,如图所示:

代码:

public String doVtimeAdd(Model model, Vtime nsfo, HttpServletRequest rq, HttpSession httpSession) {

Hang entity = hangService.GetInfoById(nsfo.getVthid());



nsfo.setVttdczw0(entity.getHtdczw());

nsfo.setVtjjczw0(entity.getHjjczw());

nsfo.setVtstatus(0);

vtimeService.Add(nsfo);

VtimeExample example = new VtimeExample();

example.setOrderByClause("vtid desc");

List<Vtime> list = vtimeService.GetList(example);

Integer newid=list.get(0).getVtid();

HpositionExample exp=new HpositionExample();

HpositionExample.Criteria cp=exp.createCriteria();

cp.andZhidEqualTo(entity.getHid());

List<Hposition> lstp = hpositionService.GetList(exp);

for(int i=0; i<lstp.size();i++){

vtpositionService.Add(ety);

}

查看订票详细信息页面

管理员查看用户的订票详细,如航班、出发地、到达时间、订票数量、总价等信息,并可以查看退票情况,如图所示:

 相关代码:

public String mgOrderdsList(Model model, QueryVo vo, HttpServletRequest rq, HttpSession httpSession,

@RequestParam(required = false, defaultValue = "1") Integer page,

@RequestParam(required = false, defaultValue = "10") Integer pageSize) {

PageHelper.startPage(page, pageSize);

OrderdsExample example = new OrderdsExample();

example.setOrderByClause("odid desc");

example.setDistinct(false);

OrderdsExample.Criteria c = example.createCriteria();

if ((vo.getQname() != null) && !("".equals(vo.getQname()))) {

c.andOdtidLike("%" + vo.getQname() + "%");

c.andOdoidLike("%" + vo.getQname() + "%");*/

c.andOduidentidLike("%" + vo.getQname() + "%");

c.andOdutelLike("%" + vo.getQname() + "%");

c.andOdunameLike("%" + vo.getQname() + "%");

PageInfo<Orderds> p = new PageInfo<Orderds>(list);

Integer count = orderdsService.GetCountOfList(example);

model.addAttribute("ulist", list);

model.addAttribute("count", count);

model.addAttribute("p", p);

model.addAttribute("vo", vo);



return "/admin/Orderds/list";

用户功能实现

会员注册页面

用户想要预定机票必须要先注册,点击注册按钮,填写相关的注册信息,点击注册按钮,完成注册,如图所示:

代码:

public String regis(Userinfo userinfo, Model model) {

PageHelper.startPage(1, 1);

UserinfoExample example = new UserinfoExample();

UserinfoExample.Criteria c = example.createCriteria();

c.andUlogEqualTo(userinfo.getUlog());

List list = userinfoService.GetList(example);



if (list.size() > 0) {

model = new utils.BaseCls().setReModel(model, "404", "账号已存在,请更换!", "/hyticket/ur/toregis.action");

return "/home/regis";

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");

userinfo.setUaddtime(sdf.format(new Date()));

userinfo.setUrole(1);

userinfoService.Add(userinfo);

model = new utils.BaseCls().setReModel(model, "201", "注册成功,快去登录吧!", "/hyticket/ur/tologin.action");



return "/home/regis";

}

机票查询页面

用户可以按照出发城市、到达城市、出发日期、返程日期查询具体的机票信息,查看剩余票数、价格等信息,如图所示:

相关代码:

public String mgHangList(Model model, QueryVo vo, HttpServletRequest rq, HttpSession httpSession,

@RequestParam(required = false, defaultValue = "1") Integer page,

@RequestParam(required = false, defaultValue = "10") Integer pageSize) {

PageHelper.startPage(page, pageSize);

HangExample example = new HangExample();

example.setOrderByClause("hid desc");

example.setDistinct(false);

HangExample.Criteria c = example.createCriteria();

if ((vo.getQname() != null) && !("".equals(vo.getQname()))) {

/*c.andHidLike("%" + vo.getQname() + "%");*/

c.andHnoLike("%" + vo.getQname() + "%");

c.andHbplaceLike("%" + vo.getQname() + "%");

c.andHbjichLike("%" + vo.getQname() + "%");

c.andHblouLike("%" + vo.getQname() + "%");

c.andHeplaceLike("%" + vo.getQname() + "%");

c.andHejichLike("%" + vo.getQname() + "%");

c.andHelouLike("%" + vo.getQname() + "%");

/*c.andHstatusLike("%" + vo.getQname() + "%");*/

c.andHtimeLike("%" + vo.getQname() + "%");

机票预定页面

注册用户登录后输入订票人姓名、身份证号、手机号码可以预定机票,最多只能预定三位乘客的机票,如图所示:

相关代码:

public String toOrdersAdd(Model model, HttpServletRequest rq,

HttpSession httpSession) {

return "/admin/order/add";



public String doOrdersAdd(Model model, Orders nsfo, HttpServletRequest rq,

HttpSession httpSession) {

ordersService.Add(nsfo);

model = new utils.BaseCls().setReModel(model, "201", "添加成功!",

"/hyticket/od/mgOrdersList.action");

return "/admin/order/add";

public String mgOrdersList(

Model model,

QueryVo vo,

HttpServletRequest rq,

HttpSession httpSession,

@RequestParam(required = false, defaultValue = "1") Integer page,

@RequestParam(required = false, defaultValue = "10") Integer pageSize) {

PageHelper.startPage(page, pageSize);

VworderExample example = new VworderExample();

example.setOrderByClause("oid desc");

example.setDistinct(false);

订票明细页面

用户预定机票后可以查看具体机票信息,并可以退票,如图所示:

相关代码:

 public String toOrdersDs(

model.addAttribute("entity", entity);

VworderdsExample.Criteria c = example.createCriteria();

c.andOdoidEqualTo(id);

List<Vworderds> list = vworderdsService.GetList(example);

PageInfo<Vworderds> p = new PageInfo<Vworderds>(list);

Integer count = vworderdsService.GetCountOfList(example);

model.addAttribute("ulist", list);

model.addAttribute("count", count);

model.addAttribute("p", p);

以上是基于SSM的航空订票系统的分析与设计主要功能和实现页面的介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c# 将数据导出到EXCEL文件

第一步&#xff1a;项目中加入引用。 在鼠标右击项目&#xff0c;点击【添加】弹出菜单列表&#xff0c;选择【项目引用】弹出【引用管理器】对话框&#xff0c;选择【COM】-【Microsoft Excel 16.0 Object Library】&#xff0c;如图所示&#xff1a; 第二步&#xff0c;编辑…

【项目精选】基于Java的敬老院管理系统的设计和实现

本系统主要是针对敬老院工作人员即管理员和员工设计的。敬老院管理系统 将IT技术为养老院提供一个接口便于管理信息,存储老人个人信息和其他信息,查找 和更新信息的养老院档案,节省了员工的劳动时间,大大降低了成本。 其主要功能包括&#xff1a; 系统管理员用户功能介绍&#…

体系结构概述

目录1.系统模型操作模式和状态寄存器和特殊寄存器2.存储器系统3.栈空间操作4.异常和中断5.嵌套向量中断控制器&#xff08;NVIC&#xff09;1.系统模型 操作模式和状态 Cortex-M0处理器包含两种操作模式和两种状态。 处理器在运行程序时处于Thumb状态&#xff0c;在这种状态…

个人信息保护认证

个人信息保护认证是证明个人信息处理者在认证范围内开展的个人信息收集、存储、使用、加工、传输、提供、公开、删除以及跨境等处理活动符合认证依据标准要求。适用范围 本规则依据《中华人民共和国认证认可条例》制定&#xff0c;规定了对个人信息处理者开展个人信息收集、存储…

【漏洞复现】phpStudy 小皮 Windows面板 RCE漏洞

文章目录前言一、漏洞描述二、漏洞复现前言 本篇文章仅用于漏洞复现研究和学习&#xff0c;切勿从事非法攻击行为&#xff0c;切记&#xff01; 一、漏洞描述 Phpstudy小皮面板存在RCE漏洞&#xff0c;通过分析和复现方式发现其实本质上是一个存储型XSS漏洞导致的RCE。通过系…

关于IB课程,你需要知道些什么?

1IB课程到底是什么&#xff1f; IB课程 IB课程是由国际文凭组织IBO&#xff08;International Baccalaureate Organization&#xff09;开设的、针对3-19岁学生的、从幼儿园到大学预科的课程&#xff0c;服务对象为全球3-19岁的学生。IBO历史 1968年IBO组织在瑞士日内瓦成立&am…

php mysql保健品购物商城系统

目 录 1 绪论 1 1.1 开发背景 1 1.2 研究的目的和意义 1 1.3 研究现状 2 2 开发技术介绍 2 2.1 B/S体系结构 2 2.2 PHP技术 3 2.3 MYSQL数据库 4 2.4 Apache 服务器 5 2.5 WAMP 5 2.6 系统对软硬件要求 6 …

2.计算机基础-计算机网络面试题—基础知识、容器、面向对象、并发编程

本文目录如下&#xff1a;计算机基础-计算机网络 面试题一、基础知识简述 TCP 和 UDP 的区别&#xff1f;http与https的区别?Session 和 Cookie 有什么区别&#xff1f;URL是什么&#xff1f;由哪些部分组成&#xff1f;OSI 的 五层模型 都有哪些&#xff1f;get 和 post 请求…

CIAM 如何平衡数据安全与客户体验?| 身份云研究院

普华永道研究表明&#xff0c;32% 的用户会因为一次体验不佳而放弃使用一个产品。无独有偶&#xff0c;据数据分析公司 Preact 研究显示&#xff0c;首次注册、登录或验证是最主要的用户流失环节&#xff0c;占整体流失率的 22.9%。 对于任何在网上做生意的公司来说&#xff0…

MySQL为什么要改进LRU算法?

普通LRU算法 LRU算法介绍 LRU Least Recently Used&#xff08;最近最少使用&#xff09;&#xff1a;也就是末尾淘汰法&#xff0c;新数据从链表头部加入&#xff0c;释放空间时从末尾淘汰数据。 1.当要访问某个页时&#xff0c;如果不在Buffer Pool中&#xff0c;需要把该…

java实现电子发票中的发票税号等信息识别的几种可用方案

先说一下背景&#xff1a;今天领导突然说需要做一个电子发票中发票税号的识别&#xff0c;于是乎就开始去调研看有哪些方案&#xff0c;最先想到的就是OCR文字识别&#xff0c;自己去画框训练模型去识别税号等相关信息话不多说开整思路&#xff1a;思路一&#xff1a;百度AI平台…

逻辑仿真工具VCS的使用-Makefile

Gvim写RTL code&#xff0c;VCS仿真&#xff0c;Verdi看波形&#xff0c;DC做综合下约束&#xff0c;Primetime做STA&#xff0c;Spyglass做异步时序分析。 VCS全称Verilog Computer Simulation &#xff0c;VCS是逻辑仿真EDA工具的编译源代码的命令。要用VCS做编译仿…

C进阶:预处理

&#x1f916;本篇文章主要讲解预处理的知识&#xff0c;即使你是小白也可以看的懂&#xff0c;若你对预处理有所不解&#xff0c;确定不来看看吗&#xff1f;&#x1f63f; 目录 一.代码运行是的两种环境 二.翻译环境 三.预定义符号 四.#define 1.define 定义宏 2.带有…

有哪些必知人工智能著名应用?

当前有哪些人工智能的著名应用&#xff1f; 生成式人工智能 输入要求&#xff0c;输出结果 趣讲大白话&#xff1a;不要小看科技进步哦 *********** 人工智能引领智能时代 见图 【安志强趣讲信息科技】 掌握信息科技常识&#xff0c;未来竞争才不吃亏 世纪之问&#xff1a;做…

一篇文章读懂阿里云企业级数据库最佳实践

今天阿里数据库不再是简单的电商业务&#xff0c;而是涵盖了视频娱乐、IM、地图、在线零售、新零售、物流、在线旅游、音乐、IoT等纵多领域。2017年双十一交易额达1682亿&#xff0c;数据库交易峰值也以数十倍的速度在增长。超大规模的业务压力&#xff0c;在阿里巴巴内部淬炼出…

Chrome 浏览器的四大进程

一个进程就是一个程序的运行实例。详细解释就是&#xff0c;启动一个程序的时候&#xff0c;操作系统会为该程序创建一块内存&#xff0c;用来存放代码、运行中的数据和一个执行任务的主线程&#xff0c;我们把这样的一个运行环境叫进程。 总结来说&#xff0c;进程和线程之间的…

2023年地方两会政府工作报告汇总(各省市23年重点工作)

新年伊始&#xff0c;全国各地两会密集召开&#xff0c;各省、市、自治区2023年政府工作报告相继出炉&#xff0c;各地经济增长预期目标均已明确。相较于2022年&#xff0c;多地经济增长目标放缓&#xff0c;经济不断向“高质量”发展优化转型。今年是二十大后的开局之年&#…

从0开始学python -27

Python3 函数-1 函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段。 函数能提高应用的模块性&#xff0c;和代码的重复利用率。你已经知道Python提供了许多内建函数&#xff0c;比如print()。但你也可以自己创建函数&#x…

基于Prometheus和k8s搭建监控系统

文章目录1、实验环境2、Prometheus介绍&#xff1f;3、Prometheus特点3.1 样本4、Prometheus组件介绍5、Prometheus和zabbix对比分析6、Prometheus的几种部署模式6.1 基本高可用模式6.2 基本高可用远程存储6.3 基本HA 远程存储 联邦集群方案7、Prometheus的四种数据类型7.1 C…

教你搞懂线段树,从基础到提高

秋名山码民的主页 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f64f;作者水平有限&#xff0c;如发现错误&#xff0c;还请私信或者评论区留言&#xff01; 目录前言线段树逻辑概念线段树的俩个重要用处代码实现线段树题目巩固最后…