栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

民航订票管理系统——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.数据表设计

管理员:

列名类型长度小数点是否为空说明
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.系统总设计

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

前台:

    用户登录用户注册航班查询机票详情机票预订订单支付订单查看用户留言个人信息查看与修改,积分变更

后台:

    航班信息管理订单信息管理用户信息管理留言评论管理广播信息管理广告信息管理个人信息管理信息统计

详细子功能如下图:

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前端代码cssdefault 用户部分的jsp前端代码fontsimagesjsWEB-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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号