民航订票管理系统——jsp+servlet+MySQL [最简单的java web,只需要简单会一点就可以写]

民航订票管理系统

独乐乐不如众乐乐!!!
这个是一个数据库课设,用的技术是java,很原始,适合大一大二的小白同学。
大家抄的时候记得更改,每年期末就一大堆关注!!!!
而且别只关注呀,多点点赞,也可以评论和我交流呀!!!

项目地址:https://gitee.com/gao_x/air-ticket


1.要求

1.1.基本要求

民航订票系统主要分为机场、航空公司和客户三方的服务。

  1. 航空公司提供航线和飞机的资料;
  2. 机场则对在本机场起飞和降落的航班和机票进行管理;
  3. 客户能得到的服务应该有查询路线和剩余票数,以及网上订票等功能;
  4. 客户可以分为两类:一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策;
  5. 机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息;

1.2.拓展要求

  1. 用户可以对系统进行反馈留言,促进开发者改良系统
  2. 可以在前台添加广告,是前台展示功能更加丰富
  3. 后台具有信息功能,可以生成对可视化图标和表格展示
  4. 管理员除最高管理员之外,其他人不可访问更改管理员

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.数据表设计

管理员:

列名类型长度小数点是否为空说明
uservarchar160账号
pwdvarchar320密码

留言评论:

列名类型长度小数点是否为空说明
idint110留言id
timedate00日期
userNamevarchar320留言用户
messagetext0-0内容

航班实体:

列名类型长度小数点是否为空说明
flightIdvarchar2250航班id
flightNumbervarchar2250航班号
flightStartvarchar2250航班起点
flightEndvarchar2250航班终点
flightStartAirvarchar2250航班始发机场
flightEndAirvarchar2250航班终点机场
flightStartTimedatatime00航班始发时间
flightEndTimedatatime0-0航班那到达时间
flightHighPricedouble102航班头等舱价格
flightHighNumberint110航班头等舱 座位数
flightMidPricedouble102航班商务舱价格
flightMidNumberint11-0航班商务舱座位数
flightLowPricedouble102航班经济舱价格
filghtLowNumberint110航班经济舱座位数
delaybool是否延误

订单实体

列名类型长度小数点是否为空说明
orderIdvarchar2250订单id
orderNamevarchar2250订单id
orderUservarchar160下单用户
flightIdvarchar2250航班号
personNamevarchar160乘客姓名
orderDatedate00下单时间
Gradevarchar30舱别
persionidvarchar2250乘客身份证号
orderMoney1double202订单金额
orderMoney2double202实付金额
contcatNamevarchar160联系人姓名
contactPhonevarchar110联系人电话

用户实体

列名类型长度小数点是否为空说明
userNamevarchar160账号
userPwdvarchar2250密码

会员实体

列名类型长度小数点是否为空说明
userNamevarchar160账号
personNamevarchar160会员姓名
personIdvarchar2250会员身份证号
personScoreint110会员积分

广播实体

广播id(radionId),广播描述(radiodescribe)

列名类型长度小数点是否为空说明
radionIdvarchar2250广播id
radiodescribevarchar2250广播描述

广告

列名类型长度小数点是否为空说明
advertIdvarchar2250广告id
advertDescribevarchar2250广告描述
urlvarchar2250广告链接
picturevarchar2250图片

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.系统总设计

本系统分为前台子系统和后台子系统,具体功能如下

前台:

  1. 用户登录
  2. 用户注册
  3. 航班查询
  4. 机票详情
  5. 机票预订
  6. 订单支付
  7. 订单查看
  8. 用户留言
  9. 个人信息查看与修改,积分变更

后台:

  1. 航班信息管理
  2. 订单信息管理
  3. 用户信息管理
  4. 留言评论管理
  5. 广播信息管理
  6. 广告信息管理
  7. 个人信息管理
  8. 信息统计

详细子功能如下图:

在这里插入图片描述

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 用户部分功能主要代码
        • 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

    • 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

  • 13
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
民航订票管理系统是基于C++和QT开发的项目,可以用来管理民航订票的相关信息。该系统可以帮助管理员进行航班信息的录入和管理,乘客的订票信息的录入和查询,以及票务的管理等功能。此外,该系统还具备一定的界面友好性和操作便捷性,能够提供一定的用户体验。 引用提到了一个名为"基于QT和C 实现的民航订票管理系统源码 sql数据库.zip"的项目,该项目是一个个人毕设项目,答辩评审分达到了95分。这个项目可能是一个民航订票管理系统的示例代码,可以作为学习和参考之用。 引用提到了一个名为"C 开发民航飞行与地图简易管理系统源码(带注释 exe可执行程序).zip"的项目,该项目也是一个基于C++的民航管理系统,提供了民航飞行与地图管理的功能。这个项目可能也可以提供一些参考和学习的价值。 引用提到了C++作为一个面向对象的语言,利用多态性和封装性可以更好地表达出民航订票管理系统的功能。相比其他语言如Java,C++还具备STL,能够更好地实现功能的封装性和扩展性。 综上所述,民航订票管理系统是一个基于C++和QT开发的项目,可以用来管理民航订票的相关信息。有一些示例代码和项目可以提供参考和学习的价值。C++作为一个面向对象的语言,具备多态性和封装性,能够更好地表达出系统的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于QT和C++实现的民航订票管理系统源码+sql数据库.zip](https://download.csdn.net/download/DeepLearning_/88253804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [C++开发民航飞行与地图简易管理系统源码(带注释+exe可执行程序).zip](https://download.csdn.net/download/DeepLearning_/88269443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [[源码和报告分享] 基于C++的民航订票系统的设计与实现](https://blog.csdn.net/qq_38474647/article/details/101471109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值