民航订票管理系统——jsp+servlet+MySQL [最简单的java web,只需要简单会一点就可以写]
民航订票管理系统
项目地址:https://gitee.com/gao_x/air-ticket
文章目录
- 民航订票管理系统
- 1.要求
- 1.1.基本要求
- 1.2.拓展要求
- 2.需求分析
- 2.1.系统功能分析
- 2.2.系统用列图
- 2.2.1前台功能
- 2.2.2后台功能
- 2.3.数据流图
- 2.4.数据字典
- 2.4.1.数据存储
- 2.4.2.处理过程
- 3.数据库设计
- 3.1概念结构设计
- 3.2.逻辑结构设计
- 3.3.数据表设计
- 3.4.创建表代码
- 4.系统总设计
- 5.代码开发
- 5.1.开发环境相关
- 5.2.开发所用技术
- 5.3.源代码目录简介
- 5.4.项目代码
- 6.系统展示
- 6.1.后台
- 6.2.前台
1.要求
1.1.基本要求
民航订票系统主要分为机场、航空公司和客户三方的服务。
- 航空公司提供航线和飞机的资料;
- 机场则对在本机场起飞和降落的航班和机票进行管理;
- 客户能得到的服务应该有查询路线和剩余票数,以及网上订票等功能;
- 客户可以分为两类:一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策;
- 机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息;
1.2.拓展要求
- 用户可以对系统进行反馈留言,促进开发者改良系统
- 可以在前台添加广告,是前台展示功能更加丰富
- 后台具有信息功能,可以生成对可视化图标和表格展示
- 管理员除最高管理员之外,其他人不可访问更改管理员
2.需求分析
2.1.系统功能分析
- 后台航班信息管理:主要是指添加航班信息,删除航班信息,查询航班信息和航班信息详细情况查看等。
- 后台订单信息管理:后台订单信息管理主要包括订单列表,查询订单信息,订单信息的删除等
- 后台用户信息管理:主要指注册用户的展示与按条件查询注册用户。
- 后台广播信息管理:主要指添加广播信息,删除广播信息等。
- 后台广告信息管理:主要指添加广告信息,删除广告信息等。
- 后台管理员管理:主要指最高管理员可以进行授权管理员和删除管理员
- 后台信息统计:统计订单量,用户量,及一些其他信息。
- 前台登录与注册管理:包括前台系统用户的注册于登录。
- 前台首页信息展示:主要是指航班信息展示、航班信息查询、航班信息详情、登录用户信息展示、留言板和 个人信息详情与修改等。
- 前台订单页面:主要是订单内容的填写和订单详情。
- 前台订单支付:订单支付成功界面。
2.2.系统用列图
2.2.1前台功能
2.2.2后台功能
2.3.数据流图
2.4.数据字典
2.4.1.数据存储
- 用户数据表
数据存储 | 用户数据表 |
---|---|
输入 | 用户数据 |
输出 | 账户信息 |
说明 | 记录用户数据 |
- 会员数据表
数据存储 | 会员数据表 |
---|---|
输入 | 会员信息(姓名,身份证号) |
输出 | 订单积分优惠 |
说明 | 记录会员数据,计算积分优惠 |
- 订单数据表
数据存储 | 订单数据表 |
---|---|
输入 | 订单信息 |
输出 | 管理界面 |
说明 | 记录订单数据 |
- 航班数据表
数据存储 | 航班数据表 |
---|---|
输入 | 管理员添加 |
输出 | 用户界面 |
说明 | 记录航班数据 |
- 留言数据表
数据存储 | 留言数据表 |
---|---|
输入 | 用户留言信息 |
输出 | 管理员界面 |
说明 | 记录留言反馈信息 |
- 广播数据表
数据存储 | 广播数据表 |
---|---|
输入 | 管理员添加 |
输出 | 用户界面 |
说明 | 记录广播数据 |
- 广告数据表
数据存储 | 广告数据表 |
---|---|
输入 | 管理员添加 |
输出 | 用户界面 |
说明 | 记录广告数据 |
2.4.2.处理过程
用户登录
功能 | 用户登录 |
---|---|
输入 | 用户信息 |
输出 | 登陆成功,登陆失败 |
- 用户注册
功能 | 用户注册 |
---|---|
输入 | 用户名密码 |
输出 | 成功,失败,用户已存在 |
- 会员注册
功能 | 会员注册 |
---|---|
输入 | 会员信息 |
输出 | 成功,失败,用户已存在 |
- 订单生产
功能 | 机票预订 |
---|---|
输入 | 订单信息 |
输出 | 预定成功或失败 |
- 留言生产
功能 | 留言生产 |
---|---|
输入 | 留言内容 |
输出 | 留言成功或失败 |
- 广播信息添加
功能 | 广播信息添加 |
---|---|
输入 | 广播信息 |
输出 | 添加成功或失败 |
其他 | 如广播信息为航班延误则修改航班 |
- 广告信息添加
功能 | 广告信息添加 |
---|---|
输入 | 广告信息 |
输出 | 添加成功或失败 |
- 航班信息添加
功能 | 航班信息添加 |
---|---|
输入 | 航班信息 |
输出 | 添加成功与失败 |
- 管理员登陆
功能 | 管理员登录 |
---|---|
输入 | 账号密码 |
输出 | 登陆成功与登录失败 |
- 管理员添加
功能 | 管理员添加 |
---|---|
输入 | 账号,密码 |
输出 | 添加成功或失败 |
3.数据库设计
3.1概念结构设计
3.2.逻辑结构设计
管理员(admin):
用户名(user),密码(pwd)
留言评论(discuss):
留言id(id),日期(Time),留言用户(userName),内容(message)
航班(Filght):
航班id(flightId),航班号(flightNumber),航班起点(flightStart),航班终点(flightEnd),始发机场(flightStartAir),到达机场(flightEndAir),起飞时间(flightStartTime),到达时间(flightEndTime),头等舱价格(flightHighPrice),头等舱座位数(flightHighNumber),商务舱价格(flightMidPrice),商务舱座位数(flightMidNumber),经济舱价格(flightLowPrice),经济舱座位数(filghtLowNumber),延误(delay)
订单(order):
订单id(orderId),订单名称(orderName),下单用户(orderUser),航班id(flightId),乘客姓名(personName),订单日期(orderDate),仓别(Grade),乘客身份证号(persionid),订单金额(orderMoney1),实付金额(oederMoney2),联系人(contcatName),联系人电话(contactPhone)
用户(user):
用户名(userName),用户密码(userPwd)
会员(person)
用户名(username),会员姓名(personName),会员身份证号(personId),会员积分(userScore)
广播(radio)
广播id(radionId),广播描述(radiodescribe)
广告实体(advert):
广告id(advertId),广告描述(advertDescribe),广告url(url),广告图片(picture)
3.3.数据表设计
管理员:
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
user | varchar | 16 | 0 | 否 | 账号 |
pwd | varchar | 32 | 0 | 否 | 密码 |
留言评论:
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
id | int | 11 | 0 | 否 | 留言id |
time | date | 0 | 0 | 否 | 日期 |
userName | varchar | 32 | 0 | 否 | 留言用户 |
message | text | 0- | 0 | 否 | 内容 |
航班实体:
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
flightId | varchar | 225 | 0 | 否 | 航班id |
flightNumber | varchar | 225 | 0 | 否 | 航班号 |
flightStart | varchar | 225 | 0 | 否 | 航班起点 |
flightEnd | varchar | 225 | 0 | 否 | 航班终点 |
flightStartAir | varchar | 225 | 0 | 否 | 航班始发机场 |
flightEndAir | varchar | 225 | 0 | 否 | 航班终点机场 |
flightStartTime | datatime | 0 | 0 | 否 | 航班始发时间 |
flightEndTime | datatime | 0- | 0 | 否 | 航班那到达时间 |
flightHighPrice | double | 10 | 2 | 是 | 航班头等舱价格 |
flightHighNumber | int | 11 | 0 | 是 | 航班头等舱 座位数 |
flightMidPrice | double | 10 | 2 | 是 | 航班商务舱价格 |
flightMidNumber | int | 11- | 0 | 是 | 航班商务舱座位数 |
flightLowPrice | double | 10 | 2 | 是 | 航班经济舱价格 |
filghtLowNumber | int | 11 | 0 | 是 | 航班经济舱座位数 |
delay | bool | 是否延误 |
订单实体
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
orderId | varchar | 225 | 0 | 否 | 订单id |
orderName | varchar | 225 | 0 | 否 | 订单id |
orderUser | varchar | 16 | 0 | 否 | 下单用户 |
flightId | varchar | 225 | 0 | 否 | 航班号 |
personName | varchar | 16 | 0 | 否 | 乘客姓名 |
orderDate | date | 0 | 0 | 否 | 下单时间 |
Grade | varchar | 3 | 0 | 否 | 舱别 |
persionid | varchar | 225 | 0 | 否 | 乘客身份证号 |
orderMoney1 | double | 20 | 2 | 否 | 订单金额 |
orderMoney2 | double | 20 | 2 | 否 | 实付金额 |
contcatName | varchar | 16 | 0 | 否 | 联系人姓名 |
contactPhone | varchar | 11 | 0 | 否 | 联系人电话 |
用户实体
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
userName | varchar | 16 | 0 | 否 | 账号 |
userPwd | varchar | 225 | 0 | 否 | 密码 |
会员实体
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
userName | varchar | 16 | 0 | 否 | 账号 |
personName | varchar | 16 | 0 | 否 | 会员姓名 |
personId | varchar | 225 | 0 | 否 | 会员身份证号 |
personScore | int | 11 | 0 | 否 | 会员积分 |
广播实体
广播id(radionId),广播描述(radiodescribe)
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
radionId | varchar | 225 | 0 | 否 | 广播id |
radiodescribe | varchar | 225 | 0 | 否 | 广播描述 |
广告
列名 | 类型 | 长度 | 小数点 | 是否为空 | 说明 |
---|---|---|---|---|---|
advertId | varchar | 225 | 0 | 否 | 广告id |
advertDescribe | varchar | 225 | 0 | 否 | 广告描述 |
url | varchar | 225 | 0 | 否 | 广告链接 |
picture | varchar | 225 | 0 | 否 | 图片 |
3.4.创建表代码
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- admin
CREATE TABLE `admin` (`user` varchar(16) CHARACTER NOT NULL COMMENT '管理员用户名',`pwd` varchar(32) CHARACTER NOT NULL COMMENT '管理员密码',PRIMARY KEY (`user`)
) ;-- discuss
CREATE TABLE `discuss` (`id` int(11) NOT NULL AUTO_INCREMENT,`time` date NOT NULL,`userName` varchar(32) CHARACTER NOT NULL,`message` text CHARACTER NOT NULL,PRIMARY KEY (`id`) ,INDEX `userName`(`userName`)
) ;-- flight
CREATE TABLE `flight` (`flightId` varchar(255) CHARACTER NOT NULL COMMENT '航班ID',`flightNumber` varchar(255) CHARACTER NOT NULL COMMENT '航班号',`flightStart` varchar(255) CHARACTER NOT NULL COMMENT '航班起点',`flightEnd` varchar(255) CHARACTER NOT NULL COMMENT '航班终点',`flightStartAir` varchar(255) CHARACTER NOT NULL COMMENT '航班始发机场',`flightEndAir` varchar(255) CHARACTER NOT NULL COMMENT '航班到达机场',`flightStartTime` datetime(0) NOT NULL COMMENT '航班起飞时间',`flightEndTime` datetime(0) NOT NULL COMMENT '航班到达时间',`flightHighPrice` double(10, 2) NULL DEFAULT NULL COMMENT '头等舱价格',`flightHighNumber` int(11) NULL DEFAULT NULL COMMENT '头等舱座位数',`flightMidPrice` double(10, 2) NULL DEFAULT NULL COMMENT '商务舱价格',`flightMidNumber` int(10) NULL DEFAULT NULL COMMENT '商务舱座位数',`flightLowPrice` double(10, 2) NULL DEFAULT NULL COMMENT '经济舱价格',`flightLowNumber` int(11) NULL DEFAULT NULL COMMENT '经济舱座位数',PRIMARY KEY (`flightId`, `flightNumber`)
) ;-- order
CREATE TABLE `order` (`orderId` varchar(255) CHARACTER NOT NULL COMMENT '订单id',`orderName` varchar(255) CHARACTER NOT NULL COMMENT '订单名称',`orderUser` varchar(16) CHARACTER NOT NULL COMMENT '下单用户',`flightNumber` varchar(255) CHARACTER NOT NULL COMMENT '航班号',`personName` varchar(16) CHARACTER NOT NULL COMMENT '乘客姓名',`orderDate` date NOT NULL COMMENT '订单日期',`grade` varchar(3) CHARACTER NOT NULL COMMENT '舱别',`personId` varchar(225) CHARACTER NOT NULL COMMENT '乘客身份证号',`orderMoney1` double(20, 2) NOT NULL COMMENT '原价',`orderMoney2` double(20, 2) NOT NULL COMMENT '折扣后价钱',`contactName` varchar(16) CHARACTER NOT NULL COMMENT '联系人',`contactPhone` varchar(11) CHARACTER NOT NULL COMMENT '联系人电话',PRIMARY KEY (`orderId`)
) ;-- user
CREATE TABLE `user` (`userName` varchar(16) CHARACTER NOT NULL COMMENT '用户名',`userPwd` varchar(225) CHARACTER NOT NULL COMMENT '用户密码',PRIMARY KEY (`userName`)
) ;-- person
CREATE TABLE `person` (`userName` varchar(16) CHARACTER NOT NULL COMMENT '用户名',`personName` varchar(16) CHARACTER NOT NULL COMMENT '乘客姓名',`personId` varchar(225) CHARACTER NOT NULL COMMENT '乘客身份证号',`userScore` int(11) NULL DEFAULT NULL COMMENT '用户积分',PRIMARY KEY (`userName`)
) ;-- radio
CREATE TABLE `radio` (`radioId` varchar(225) CHARACTER NOT NULL COMMENT '广播id',`radioDescribe` varchar(255) CHARACTER NOT NULL COMMENT '广播内容',PRIMARY KEY (`radioId`)
) ;-- advert
CREATE TABLE `advert` (`advertId` varchar(225) CHARACTER NOT NULL COMMENT '广告id',`advertDescribe` varchar(255) CHARACTER NOT NULL COMMENT '广告内容',`url` varchar(255) CHARACTER NOT NULL COMMENT 'url',`picture` varchar(255) CHARACTER NOT NULL COMMENT 'picture',PRIMARY KEY (`advertId`)
);
4.系统总设计
本系统分为前台子系统和后台子系统,具体功能如下
前台:
- 用户登录
- 用户注册
- 航班查询
- 机票详情
- 机票预订
- 订单支付
- 订单查看
- 用户留言
- 个人信息查看与修改,积分变更
后台:
- 航班信息管理
- 订单信息管理
- 用户信息管理
- 留言评论管理
- 广播信息管理
- 广告信息管理
- 个人信息管理
- 信息统计
详细子功能如下图:
5.代码开发
5.1.开发环境相关
开发后台服务语言:openjdk version “11.0.10” 2021-01-19
服务器:Apache Tomcat/8.5.73
数据库:MySql 5.7.36
操作系统:Windows10
开发工具:intelliJ IEDA 2021.3、Navicat permium15
5.2.开发所用技术
Web前端:HTML,CSS,JavaScript,Bootstrap
Web后端:jsp+servlet
版本控制工具:git version 2.33.1.windows.1
5.3.源代码目录简介
airTicket 项目文件夹
src
main 项目主文件夹
- java 项目java部分文件夹
- com.
- admin admin管理部分后端代码
- bean admin后端各实体定义
- dao admin后端各实体操作
- filter 过滤器,防止未登录访问
- servlet admin部分主要功能代码
- util 存放工具类,定义数据库连接
- user
- bean 用户部分的各实体定义
- dao 用户部分的各实体操作
- filter 过滤器,防止未登录访问
- servlet 用户部分功能主要代码
- admin admin管理部分后端代码
- com.
- webapp
- admin admin部分的jsp前端代码
- css
- default 用户部分的jsp前端代码
- fonts
- images
- js
- WEB-INF
- web.xml 各servlet和filter的配置位置
- index.jsp 主页
- list.jsp 飞机查询列表页
- login.jsp 前台登录页
- register.jsp 前台注册页
test
- java 项目java部分文件夹
target 编译后的.class文件
5.4.项目代码
由于代码过多,这里不便放置,这里提供源码地址
机票管理系统:
https://gitee.com/gao_x/air-ticket
6.系统展示
6.1.后台
后台主页:
航班添加页面:
航班列表页:
管理员添加页:只有最高权限可以访问
管理员列表页:只有最高权限可以访问
权限不足页面:普通管理员无法进行管理员授权等等
6.2.前台
前台主页:
前台列表页:
订单生成页:
个人订单管理页面
注册页:
因为部分页面相似,在这里不做图片展示。因部署在云服务器可通过以下连接查看。
主页: http://110.42.210.89:8080/airticket_war/
管理端:http://110.42.210.89:8080/airticket_war/admin/
账号:admin
密码:admin
民航订票管理系统——jsp+servlet+MySQL [最简单的java web,只需要简单会一点就可以写]相关推荐
- java计算机毕业设计火车订票管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计火车订票管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计火车订票管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...
- 基于Java实现(PC)民航订票管理系统【100010185】
民航订票管理系统设计 一.需求分析: 问题描述:设计系统的简单描述 民航订票管理系统实现了航班信息查询,客户定票,客户退票,航班信息管理,航线管理航班延误管理,已订票客户信息管理,会员信息管理等功能. ...
- 图书管理系统 jsp + servlet + mysql (2023)
jsp + servlet + mysql 图书管理系统(2023) 1.系统运行环境 运行环境:Java8 + MySQL8 + Tomcat8.0 开发工具:eclipse/idea 2.系统功能 ...
- 学生选课管理系统 jsp + servlet + mysql (2021)
jsp + servlet + mysql 学生选课管理系统(2021) 1.系统运行环境 运行环境:Java8 + MySQL8 + Tomcat8.0 开发工具:eclipse/idea 2.系统 ...
- Jsp+Ssh+Mysql+Redis实现的Java Web订餐点餐
此篇给大家推荐一款基于jsp+ssh+mysql实现的Java web订餐系统 其中struts版本是struts2,此外还用到了redis缓存,国际化等struts框架特性技术 系统实现了管理员在后 ...
- 留言板管理系统 jsp + servlet + mysql (2004)
servlet + jsp + mysql 留言板管理系统(2004) 1.系统运行环境 运行环境:Java8 + MySQL8 + Tomcat8.0 开发工具:eclipse/idea 2.系统功 ...
- jsp+mysql学生成绩管理系统_jsp+servlet+mysql学生成绩管理系统 javaweb成绩管理系统 - 下载 - 搜珍网...
压缩包 : c59896403d8d913d853f6c0910dc71.zip 列表 jsp servlet mysql实现的学生成绩管理系统/ jsp servlet mysql实现的学生成绩管理 ...
- 基于JAVA航空订票管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA航空订票管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA航空订票管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构 ...
- 计算机毕业设计Java飞机订票管理系统(源码+系统+mysql数据库+lW文档)
计算机毕业设计Java飞机订票管理系统(源码+系统+mysql数据库+lW文档) 计算机毕业设计Java飞机订票管理系统(源码+系统+mysql数据库+lW文档) 本源码技术栈: 项目架构:B/S架构 ...
- jsp mysql视频_手把手教你做jsp servlet mysql实现的图书管理系统附带视频开发教程和完整源码...
上一个教程我们做的是对数据库框架底层原理的讲解,然后教大家做了一个自己的数据库框架,这次我们做的这个图书管理系统就是用我们上个教程自己写的数据库框架,整个项目做完框架运行的很稳定,没有出现任何问题.如 ...
最新文章
- 【翻译】安卓新播放器EXOplayer介绍
- deep learning 作業 2.2
- 前端学习(2516):传值和引用
- CompletableFuture详解~thenApply
- Java银行类编程题
- 奇妙的等式 精妙的证明
- for循环、while循环、break跳出循环、continue结束本次循环、exit退出脚本
- java重新连接tcp,如何处理TCP客户端丢弃和重新连接
- mysql报错:Host ***.***.***.*** is not allowed to connect to this MySQL server
- java 字符串查找程序,查找字符串的所有子集的Java程序
- java拼接sql字符串
- faker假数据php,php faker 伪造数据
- python报错就一定是有错吗_Python-什么是错误的幻数错误?
- 电话和互联网使用:首次移动电话数下降
- EC11旋转编码器电路和程序
- 视频播放开发笔记-获取MPV的视频内存方式截图
- 【新书】崛起的超级智能:互联网大脑如何影响科技未来
- 【Java学习笔记】工厂模式
- 小说更新太慢怎么办_为什么现在的网络小说更新这么慢
- Java2实用教程第五版+第四章习题答案
热门文章
- convolution backbone network——Deep Pyramidal Residual Networks
- 青龙2.10.13 稳定版+xdd-plus+阿东教程保姆教程(2022年7月11日更新)
- 2018年中考计算机考试成绩,2018年北京中考考试科目、时间及成绩公布通知
- Python之旅——函数初步
- 极客快讯第 5 期:袁隆平对抖音账号不知情,抖音回应;百度宣布组建智能汽车公司;北京滴滴和花小猪将于一周内完成司机疫苗接种;
- cesium粒子特效
- 查看页面滚动条滚动距离,可视区窗口尺寸
- 致远oa系统报价_致远oa价格(致远oa系统登录)
- 台式机显示屏作为笔记本显示屏的设置
- 与孤独世界的博弈——诺贝尔奖得主约翰·纳什的传奇一生