基于ssm的航空售票系统
博主介绍: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的航空订票系统的分析与设计主要功能和实现页面的介绍。
相关文章:
基于ssm的航空售票系统
博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经从做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言…...
滑动窗口最大值
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 3 …...
接口文档参考示例
接口文档参考示例 用户登录 - POST /api/login/ 接口说明:登录成功后,会生成或更新用户令牌(token)。 使用帮助:测试数据库中预设了四个可供使用的账号,如下表所示。 Untitled 请求参数: Untitled 响应信息: 登录成功: {"code": 30000, "message&qu…...
2010-2019年290个城市经济发展与环境污染数据
2010-2019年290个城市经济发展与环境污染数据 1、时间:2010-2019年 2、统计口径:全市 3、来源:城市统计NJ,缺失情况与年鉴一致 4、指标包括: 综合经济:地区生产总值、人均地区生产总值、地区生产总值增…...
web开发
目录 使用Idea搭建Web项目 使用Idea开发Web项目基本知识 tomcat配置信息 HTML /CSS 开发主页 Servlet 学习和掌握的内容: HTML/CSSServlet MVC模式和Web开发数据库基本应用和JDBC应用软件项目开发流程 环境及工具版本: Windows10,JDK1.8 Idea2…...
【数据结构】优先级队列----堆
优先级队列----堆优先级队列堆堆的创建堆的插入:堆的删除:PriorityQueue的特性PriorityQueue的构造与方法优先级队列 优先级队列: 不同于先进先出的普通队列,在一些情况下,优先级高的元素要先出队列。而这种队列需要提…...
Python深度学习实战PyQt5信号与槽的连接
本文讲解信号与槽的连接机制,详细示范各种类型的信号/槽连接的实现方法,这是图形用户界面的核心内容。还将介绍面向对象的程序设计,这是图形用户界面的基本思想目录1. 信号与槽(Signals and slots)信号与槽机制是 PyQt…...
Window 10 OpenCV 打开罗技(Logitech)摄像头速度慢问题解决
采用最新版OpenCV 4.7.0 摄像头对罗技摄像头进行视频图像抓取时,发现存在打开摄像头慢的问题。 测试环境如下: 系统Windows 10 专业版CPUIntel i7-7700K 4.20GHz 摄像头型号罗技Logitech C930c 网络摄像头OpenCV版本4.7.0语言C 测试结果表明ÿ…...
基于yolo的小球位置实时检测
基于yolo的小球位置实时检测 Yolo安装 操作系统:ubuntu 安装cuda和opencv git clone https://github.com/pjreddie/darknet.git cd darknet 修改Makefile文件,使GPU1,OPENCV1 make 2. 数据集处理 2.1 制作数据集 将小球放在摄像头前…...
【微服务】Elasticsearch数据聚合自动补全数据同步(四)
🚗Es学习第四站~ 🚩Es学习起始站:【微服务】Elasticsearch概述&环境搭建(一) 🚩本文已收录至专栏:微服务探索之旅 👍希望您能有所收获 在第二站的学习中,我们已经导入了大量数据到es中&…...
java面试题(十七)spring
2.1 请你说说Spring的核心是什么 参考答案 Spring框架包含众多模块,如Core、Testing、Data Access、Web Servlet等,其中Core是整个Spring框架的核心模块。Core模块提供了IoC容器、AOP功能、数据绑定、类型转换等一系列的基础功能,而这些功能…...
你知道 BI 是什么吗?关于 BI 系统的概述
BI 作为信息化建设中的关键一环,在企业中通常起到承上启下的作用,下能连接打通企业业务系统数据库,将各部门数据分类分级统一储存到数据仓库,简化存储取数流程,减少人力、时间成本;上能提供数据可视化报表…...
git:详解git rebase命令
背景 今天无意中打开 git 官网,发现 git 命令还是很多的,然而我们常用的就那几个,今天来学习一个也不怎么常用的命令 rebase 官网链接 都说学一个东西最好的方式就是读他的 官方文档,这里我读了一遍,把一些核心的地…...
第四章——随机变量的数字特征
文章目录1、数字特征的定义2、数学期望(均值)2.1、数学期望的定义及性质2.1.1、定义2.1.2、性质2.2、数学期望相关例题2.3、Yg(X)的数学期望2.4、Zg(X,Y)的数学期望2.5、随机变量函数的数学期望例题3、方差3.1、方差的定义与性质3.2、相关例题3.3、切比雪…...
vue2源码阅读理解-响应式数据原理
首先明确,vue2是如何实现响应式的? 通过object.defineProperty观察者模式实现,在创建vue实例的过程中,也就是介于beforecomputed~computed的过程中,会执行如下函数initState export function initState (vm: Componen…...
服务调用分布式session
目录一、nginx动静分离二、服务调用1、创建配置zmall-cart购物车模块2、创建配置zmall-order订单模块3、服务调用三、spring session实战1、什么是Spring Session2、为什么要使用Spring Session3、错误案例展示4、配置spring-session四、二级域名问题五、用户登录一、nginx动静…...
Maven知识点-插件-maven-surefire-plugin简介
Maven本身并不是一个单元测试框架,Java 世界中主流的单元测试框架为JUnit 和TestNG。 Maven 所做的只是在构建执行到特定生命周期阶段的时候,通过插件来执行JUnit或者TestNG的测试用例。 这一插件就是maven-surefire-plugin,可以称之为测试…...
如何借力Alluxio推动大数据产品性能提升与成本优化?
内容简介 随着数字化不断发展,各行各业数据呈现海量增长的趋势。存算分离将存储系统和计算框架拆分为独立的模块,Alluxio作为如今主流云数据编排软件之一,为计算型应用(如 Apache Spark、Presto)和存储系统࿰…...
linux shell脚本被包含是什么意思?.命令和source命令(在脚本中运行脚本,脚本中调用脚本)(脚本包含,父子脚本)
在 shell 编程中,当一个 shell 脚本被另一个 shell 脚本包含,即用 . 或 source 命令包含,则被包含的脚本在当前 shell 进程内执行,并且可以访问当前 shell 进程的环境变量和函数。 此时,$0 代表的是主脚本的名称&#…...
MySQL进阶篇之锁(lock)
05、锁 5.1、概述 1、介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据…...
TMDSEVM6657LS评估板恢复出厂默认状态
TMDSEVM6657LS评估板恢复出厂默认状态 前言 TMDSEVM6657LS评估板特别适用于DSP开发的初学者,但有时候拿到手的开发板几经流转,被别人修改过,也可能自己烧录过程出错,导致开发板的状态未知等原因,需要恢复到出厂默认状…...
聊一聊,我对DDD的关键理解
作者:闵大为 阿里业务平台解决方案团队 当我们在学习DDD的过程中,感觉学而不得的时候,可能会问:我们还要学么?这的确引人深思。本文基于工作经验,尝试谈谈对DDD的一些理解。 一、序 《阿甘正传》中…...
算法笔记(一)—— 认识复杂度和简单排序算法
时间复杂度是在一个算法流程中,常数操作的数量级指标。(最差情况下的算法表现) 比较两个算法的优劣,在足够的空间下,看时间复杂度指标,若相同,需要在大数据运行下来判断两个算法的“常数项指标…...
MQ消息中间件常见题及解决办法
目录儿常见MQRocketMQ2、RocketMQ测试可用MQ常见问题1、幂等性问题2、如何保证消息不丢失3、消息积压问题4、事务消息设计分析常见MQ RocketMQ RocketMQ又四部分组成 NameServer 同步Broker服务信息,给消费者和生产者提供可用Broker的服务信息。Broker 消息存储业…...
网关服务限流熔断降级分布式事务
目录一、网关服务限流熔断降级二、Seata--分布式事务1、分布式事务基础①事务②本地事物③分布式事务④分布式事务的场景2、分布式事务解决方案①全局事务②最大努力通知③TCC事务3、Seata介绍4、Seata实现分布式事务控制①案例基本代码(异常模拟)②启动…...
JVM——7JVM调优实战及常量池详解
Arthas工具的使用 阿里巴巴开源的java诊断工具 下载插件 上传至linux环境 在linux跑起来的java项目,可以用Arthas进行查看 项目上线前的时候没问题,上线了就出问题 ,用来查看线上代码 jad 项目名 :反编译线上正在运行的代码 用…...
子串分值【第十一届】【省赛】【A组】
问题描述 对于一个字符串 s,我们定义 s 的分值 f(s) 为 s 中恰好出现一次的字符个数。例如 f("aba")1,f("abc")3, f("aaa")0。 现在给定一个字符串 s[0..n−1](长度为 n),请你计算对于…...
SpringCloud 中 Config、Bus、Stream、Sleuth
文章目录🚏 第十三章 分布式配置中心🚬 一、Config 概述🚬 二、Config 快速入门🚭 config-server:🛹 1、使用gitee创建远程仓库,上传配置文件🛹 2、导入 config-server 依赖…...
Quantum 构建工具使用新的 TTP 投递 Agent Tesla
Zscaler 的研究人员发现暗网上正在出售名为 Quantum Builder 的构建工具,该工具可以投递 .NET 远控木马 Agent Tesla。与过去的攻击行动相比,本次攻击转向使用 LNK 文件。 Quantum Builder 能够创建恶意文件,如 LNK、HTA 与 PowerShell&…...
浏览器中的 JavaScript 执行机制
思维导图 本文为反复学习极客时间-《浏览器的工作原理与实践》-浏览器中的 JavaScript 执行机制章节中的一些思考与记录。 一些重要概念 变量提升 所谓的变量提升,是指在 JavaScript 代码执行过程中,JavaScript 引擎把变量的声明部分和函数的声明部分…...
广德县建设协会网站/企业模板建站
html中form表示一个表单,用来把一系列的控件包围起来,然后再统一发送这些数据到目标,比如最常见的注册,你说需要填写的资料,都是被封装在form里的,填写完毕后,提交form内的内容,如果不再form内则不会提交而table则是用来布局的 当你填写资料的时候 你有没有发现页面所提供的文本…...
教人做家具的网站/seo关键词平台
手机拍照反差对焦、相位对焦和激光对焦系统解析 参考网址:https://jingyan.baidu.com/article/22a299b5c882a29e19376aad.html 手机拍照三大对焦系统解析#资料课代表 | 讲窍门# 你最常使用的拍照工具是什么?很多人的第一直觉可能就是手机,而对于专业从事影视相关工作的人来…...
浙江做铁塔的公司网站/非企户百度推广
This tutorial is highly referenced from Emmanuel Henri’s LinkedIn Learning tutorial released 11/5/2019.本教程由Emmanuel Henri于2019年11月5日发布的LinkedIn学习教程高度引用。 It took me a long time to find a resource to help me on my journey of building a …...
自己视频怎么上传网站/网络营销的背景和意义
我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置&a…...
湘潭做网站 活动磐石网络/北大青鸟
本文来自AI新媒体量子位(QbitAI)6月7日17点,2017年第一日高考结束,数学学科停笔交卷的铃声划破长空。 北京第八十中学望京校区人潮涌动,结束数学厮杀的考生正陆续走出考场,有欢有悲,神色各异。 …...
网页网站公司如何做备份/seo什么意思中文意思
有人早上问我:“你能替一间企业创做一个品牌吗?” 这个问题触动了我一下,让我想想我做过的公司与研究过的公司是怎样做品牌的。 我 认为企业不能单去考虑做品牌,品牌应该是企业策略执行架构的一个部分。品牌是用来降低销售成本的&…...