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

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

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

用户数据表 数据存储用户数据表输入用户数据输出账户信息说明记录用户数据

会员数据表 数据存储会员数据表输入会员信息(姓名,身份z号)输出订单积分优惠说明记录会员数据,计算积分优惠

订单数据表 数据存储订单数据表输入订单信息输出管理界面说明记录订单数据

航班数据表 数据存储航班数据表输入管理员添加输出用户界面说明记录航班数据

留言数据表 数据存储留言数据表输入用户留言信息输出管理员界面说明记录留言反馈信息

广播数据表 数据存储广播数据表输入管理员添加输出用户界面说明记录广播数据

广告数据表 数据存储广告数据表输入管理员添加输出用户界面说明记录广告数据 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),乘客身份z号(persionid),订单金额(orderMoney1),实付金额(oederMoney2),联系人(contcatName),联系人电话(contactPhone)

用户(user):

用户名(userName),用户密码(userPwd)

会员(person)

用户名(username),会员姓名(personName),会员身份z号(personId),会员积分(userScore)

广播(radio)

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

广告实体(advert):

广告id(advertId),广告描述(advertDescribe),广告url(url),广告图片(picture)

3.3.数据表设计

管理员:

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

留言评论:

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

航班实体:

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

订单实体

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

用户实体

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

会员实体

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

广播实体

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

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

广告

列名类型长度小数点是否为空说明advertIdvarchar2250否广告idadvertDescribevarchar2250否广告描述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 '乘客身份z号',
  `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 '乘客身份z号',
  `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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存