航空订票系统(javaweb项目)

article/2025/8/22 6:41:50

航空订票系统课程设计

一、项目选题

   航空订票系统

二、项目背景

当今社会知识经济高速发展,信息化在各个行业内正在被越来越广泛的应用。人们生活水平的不断提高,使得出行的交通工具也跟着发展起来。如今乘飞机出行的人越来越多,这方面的市场越来越大,基于此制定了航空订票系统,方便游客,满足市场要求。

三、需求分析

航空订票系统的需求如下

航空订票系统中有两种角色信息,分别是普通用户和管理员。其中普通客户可以注册并登录系统,还可以对自己的身份信息、密码信息进行修改。普通用户还可以查询所有的航班信息,并订购自己需要的航班。在订购航班时,还可以设置机票的数量。订购完成后,订购的航班信息将添加到购物车中。用户可以在航班日期前一天进行退票。
管理员主要负责制定航班信息,其中制定航班信息包括如下信息,航班的编号、出发地点、目的地、航班日期、票价以及票数信息。

四、功能模块分析

   1、修改个人信息

1)功能实现原理:

先通过用户在登录是存入的username进行对个人信息的查询,然后在userInfo.jsp页面上显示。在userInfo.jsp页面上利用form表单中submit按钮提交的原理进行修改以及数据库中的数据修改。在userInfo.jsp页面上会获取到用户的基本个人信息,如:用户名、真实姓名、性别、电话号码以及电子邮件;然后在当前页面上进行修改信息,点击“修改”按钮,就会把修改后的全部个人信息提交到服务端,然后利用后端的“UpdateUserServlet进行获取提交的个人信息,其中利用request.getParamete()进行获取信息;在然后把所获取到的个人信息传入一个User类中,调用修改用户信息的数据库操作UpdateUser()函数,把user数据作为参数进行数据库中修改。

2)代码

对个人信息的查询以及存入session(UserInfoServlet.java)

通过Cookie存的username来查询用户信息,然后用session将查询到的用户信息存入到服务端(“user”)

  userInfo.jsp代码

通过服务端存的session,在jsp中利用EL表达式($)取值。然后可以在该界面进行修改个人信息,通过form表单中的submit进行提交所修改的信息。

UpdateUserServlet.java

点击修改按钮,会执行UpdateUserServlet.java,然后连接数据库,获取提交的信息,将信息存入user类中,然后将user存入session中。把修改后的user传回 userInfo.jsp中,会显示修改过后的信息。

根据用户名查询个人信息数据库代码

修改个人信息的数据库代码

3)效果

2、修改密码

1)功能实现原理

利用ajax实现提交修改密码的数据到服务端,然后在服务端进行数据库的修改以及判断是否修改成功。首先在updatePassword.jsp页面上把原密码和新密码提交到服务端,然后在UpdatePasdServlet中获取数据,进行判断原密码输入是否正确以及修改密码。

2)代码

Ajax修改密码

UpdatePasdServlet.java

先从服务端获取页面输入的原密码和新密码,通过cookie存的username查询用户信息,找到用户的密码,然后与用户输入的原密码进行比较是否正确。如果正确,则把修改密码,否则返回修改密码的界面(UpdatePassword.jsp)

数据库中修改密码

3)效果

3、预订航票以及购买

1)功能实现原理

首先在查询出所有的航班信息,而且是通过日期来进行筛选的,然后通过航班的id进行查询,跳转到确认订票信息的页面(planshopping.jsp),选择购买的票数,然后点击“购买”按钮,进行数据库的插入。其中用到了Ajax、session的技术进行提交数据和存数据,利用EL表达式进行循环出查询所有的航班表。当该用户没有购买该航班时,会提示“订票成功”;否则会提示“你已经订过了该航班!!!”。当订票成功时,航班的信息会插入数据库中,以及航班表(plane)的对于的航班中的票数也会相应减少。

2)代码

预定航班(查看在当天的之后航班)

连接数据库,调用PlaneDao中的queryPlane()函数进行查询所有的航班信息,以及把所查询的航班存入session中,value为“sched”,key为“array”。

planeList.jsp

利用EL表达式进行获取session中列表数值,用进行循环输出航班信息,然后利用超链接进行跳转确定订单信息的页面,以及选择购买的票数。

QueryPlaneServlet.java

通过超链接传入航班的id,然后通过航班的id查询该航班的信息,以及把该航班信息存入session,value为“plane”,key为“p”

确认订票的信息

通过QueryPlaneServlet中存的session,利用EL表达式进行显示数据。然后利用button点击按钮事件进行处理。

Ajax进行提交数据信息

利用ajax把选择的票数传入服务端。

购买按钮执行的事件(PurchaseServlet.java)

从服务端获取用户所购买的票数,返回cookie存的用户id,然后通过session中的“plane”进行获取用户所购买的航班信息,然后在进行插入数据库car表。如果插入成功,则会进行相应的航班表(plane)中进行票数的修改,用原有的票数减去用户选择的票数。

3)效果

五、课程总结

   通过学习本课程,学到了JavaScript的知识点、JSP的基本语法、JDBC连接数据库、JSP内置对象以及servlet和jiavabean。在学习过程中,利用JDBC进行连接数据库以及进行数据库的基本操作如:增删查改;利用JSP内置对象中的request和response对象进行服务端的请求和响应,以及利用session进行存值;利用servlet和Javabean进行一个对象的存值和取值;利用ajax进行表单验证以及EL表达式显示数据等等技术。在学习中也遇到问题,如:点击按钮报404错误或者报500错误。出现这些问题一般都是servlet的路径配置问题或者servlet里面的代码报错。经过学习Javaweb这门课堂,以及在做课设的过程中,清楚的知道Javaweb的相关知识,以及在操作构成中,一定要清晰的知道所要实现的功能逻辑,以及知道该如何进行去操作。如jdbc连接数据库、需要的数据库操作、创建所需要的类,以及servlet请求等。

    对于Javaweb的知识还是不够深入了解,在往后的时间里,还是需要更深入一层的去了解Java web 学习更多的技术。


http://chatgpt.dhexx.cn/article/ETMwQ9d4.shtml

相关文章

数据结构课设——航空航天订票系统

文章目录 一、系统简介    1、业务活动    2、操作和功能二、系统功能模块图    1、系统功能模块图    2、函数功能模块三、详细描述    1、数据结构    2、设计思路四、运行结果    1、查询所有航班    2、根据起点终点搜索航班    3、订…

mysql导出表结构及数据的三种方法

navicat导出表一共有三中用法: 第一种:数据库上右键—>"转储SQL文件",如图: "转储文件"是把整个数据库表全部导出,所有的表都是先drop然后create,insert。 第二种:部分表…

将mysql中的数据库表导出和导入

目录 导出数据库 导入数据库 导出数据库 如果你的mysql没有配置环境变量,首先需要进到你所安装的mysql目录下的bin目录 进入之后输入: mysqldump -uroot -p booksystem > booksystem.sql 其中booksystem是你要导出的数据库中的名字,book…

MySQL——表的导出和导入

有时会需要将MySQL数据4中的数据导出到外部存储文件中,MySQL数据库中的数据可以导出成qI文本文件、xml文件或者html文件,同样这些导出的文件也可以导入MySQL数据库中, 一. 表的导出 1. 用 SELECT…INTO OUTFILE 导出文本文件 在 MySQ…

C代码实现Mysql导出表数据,sql语句保存

概述 本人最近项目的要求,需要定时检查数据库变化,定时将变化的数据库数据导出来另外保存。 所以研究数据库数据导出功能,并记录下开发过程。因暂时没有需要,没有将数据库的结构保存。 软件环境 编译器:vs2022 数据…

MySQL导出表数据至excel表格

虽然很简单,但还是把步骤记下来,防止以后忘记 第一步:选中表名 点击导出向导 第二步:选择导出格式 第三步:选择导出.xlsx文件的名字以及存放路径 第四步:设置编码格式 第五步:设置导出数据是否…

mysql数据库导入导出sql文件

目录 1.导出sql文件2.导入sql文件 在使用MySQL数据库时,经常需要备份和恢复数据库,通过导出sql文件备份和直接执行sql文件恢复是非常便捷的方式。本篇博客主要介绍如何对MySQL数据库通过cmd命令导出和导入sql文件。 1.导出sql文件 导出sql文件可以使用m…

MySQL表的导出

MySQL表的导出有两种方式:1,select … into outfile … 2,mysqldump工具进行导出 1.select … into outfile … 方式导出: (1)默认导出地址查询:show variables like secure_file_priv,后续将该地址设为数据…

mysql数据库如何导出表和数据

1.选择需要导出的表 2.右击选择转储SQL文件 3.输入文件名选择sql脚本文件 4.完成

mysql导出表_mysql导出表的3种方式

文章转载自 : https://blog.csdn.net/jbb0403/article/details/26359573 navicat导出表一共有三中用法: 第一种:数据库上右键—>"转储SQL文件",如图: "转储文件"是把整个数据库表全部导出&…

javase转javaee(java web)

1、点击help——>ininstall new software;点击add,输入name:javaweb ; location:http://download.eclipse.org/releases/mars(该地址可以根据eclipse版本下载相应的jar包);等待下载完成后重启ecli…

javase-jdk下载、安装、配置

一.下载 1.地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 二.安装 安装到默认路径…… 安装完后: 三.配置环境 在系统变量中操作 1.创建一个名为 JAVA_HOME 新的环境变量,输入变量值,如&#…

JavaSE JDK搭建

一、下载JDK 下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteIdotncn 二、JDK安装 默认安装路径即可 三、环境变量的配置 1 JAVA_HOME 注意:JAVA_HOME的值即为jdk的安装地址 2 pat…

下载安装Java8

下载java的官网:http://www.orcle.com 点击产品。 点击java 点击下载java 点击java archive 点击javaSE8 这里我下载的是windows x64 二. 安装Java 这里我只讲重要部分其余直接单击下一步 这里点击更改位置但是把名字设置为ava\jdk1.8.0_202 后面再次更改位置时改…

java se win10_Win10 JAVASE的下载和环境变量设置

1、Java的下载 官方网站下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 根据你当前的操作系统以及开发要求选择合适的JaveSE版本; 2.Java的安装 公共JRE可以选择不安装,因为JDK已经包含有JR…

Java 官网下载+安装(Linux)

目录结构: 1. 官网下载JDK 2. 安装JDK 1.官网下载JDK 官网地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 1)点选“Accept”,点击下载“jdk-8u221-linux-x64.tar.gz” 2&#x…

JavaSE基础知识点思维导图

最近开启新一轮的知识点复习,先从JavaSE开始。文章里是PNG格式,可能不是很清晰,文末附上PDF和xmind工程文件链接,需要的小伙伴自取,都只需要1个币(设置成0个币还需要啥下载码)。如有错误的地方欢…

jdk 下载

前言 经常搭建环境需要 jdk,oracl e又让登录,自己又不想登录,很麻烦。在网上找的,以便自己开发中用到。 oracle官网 https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 在网上找到的,…

JavaSE详细教程.1

目录 前言 一.Java开发环境的准备 1.Sublime工具 2.CMD窗口 3.Java环境变量配置 二.开发工具IDEA的安装 三.编写第一个Java程序—HelloWorld 前言 本人还只是刚刚入坑编程的一个小白,这里更多的是将自己平时学到的东西整理记录出来,难免有时候会有错…