航空订票系统课程设计

一、项目选题

   航空订票系统

二、项目背景

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

三、需求分析

航空订票系统的需求如下

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

四、功能模块分析

   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 学习更多的技术。

航空订票系统(javaweb项目)相关推荐

  1. java小项目(公交车管理系统+航空订票系统)

    航空订票系统 //测试函数放在Booking里面 //Enum PassengerCabin package systemofAirplane;public enum PassengerCabin { ...

  2. 航空订票系统界面java_Java命令行界面(第21部分):航空公司2

    航空订票系统界面java 本系列文章的第21篇关于Java中解析命令行参数的文章的重点是Airline 2库. Airline 2的GitHub项目页面描述了该库," Airline是一个J ...

  3. 基于h5的航空订票系统的设计与实现

    1,项目介绍 基于 SpringBoot,h5 的航空订票系统系统拥有两种角色,分别为管理员和用户. 用户:机票浏览,机票查询,机票预定,新闻浏览,购票信息管理,留言信息管理 管理员:购票信息管理,机 ...

  4. Python-Django毕业设计航空订票系统(程序+Lw)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  5. [附源码]Python计算机毕业设计航空订票系统Django(程序+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  6. 东北大学20级计算机C语言课设-航空订票系统

    航空订票系统 开发人员:东北大学20级计算机系学生 开发团队:三人小组 开发语言:C语言 开发工具:vs2015 有疑问欢迎进行讨论 总代码数量大概在三千五百行左右 耗时近一个月的时间完成了该次课设, ...

  7. 精品基于java开发的航空订票系统SSM

    <基于java开发的航空订票系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1. ...

  8. 基于JAVA Web的航空订票系统

    基于JAVA Web的航空订票系统 开发语言:JSP,JAVAweb 开发平台:eclipse; 数据库:MYSQL: 系统分为前台和后端: 前台界面图: 登录界面: 主界面图: 后端界面 登录: 后 ...

  9. 基于java开发的航空订票系统

    <基于java开发的航空订票系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1. ...

  10. JAVA毕业设计航空订票系统计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计航空订票系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计航空订票系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

最新文章

  1. java双目运算符重载,c++类的单目和双目运算符的重定义
  2. js关于正则的前后关联约束(前后预查)
  3. AM335X can驱动移植
  4. 陌生人交友IM即时聊天系统-得推交友系统v3.0源码
  5. 信号调制产生边频的原理及希尔伯特解调
  6. 7-130 古风排版 (20 分)
  7. 解决Julia使用PyPlot库出现ERROR: ArgumentError: hasproperty of NULL PyObject问题
  8. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_7_File类创建删除功能的方法...
  9. 虚拟机安装教程win10_Win10封装教程1-VM虚拟机安装及配置
  10. 段式存储、页式存储及段页式存 详解
  11. Python快速生成gif图
  12. Archlinux无法启动vmware虚拟机
  13. 罗技M545鼠标是不是垃圾鼠标中的战斗机?
  14. 6 款代码对比工具,你知道几个?
  15. 国密算法 SM2 SM3 SM4 及密钥生成
  16. 计算机中的英语六级作文万能模板,英语六级作文万能模板汇总
  17. XFTP连接服务器成功,传输文件失败解决方案
  18. 手动安装couchdb并且指定版本 详细教程
  19. 长沙理工计算机竞赛黑马,全国第三!长理紧跟清华、华科成最大黑马!
  20. arm数据库服务器性能,arm mali 天梯图_移动处理器GPU性能天梯图数据库

热门文章

  1. ajax提交form返回数据格式,ajaxSubmit 返回值
  2. 以撒的结合:胎衣+(启示录Revelations MOD)不起作用失效(道具可以捡但是没作用失效等)
  3. 下载和安装R、RStudio !~~~
  4. 360os比android,手机系统比拼360OS、Flyme究竟哪个好?
  5. matlab生成数据以二进制数据格式写入txt文件中
  6. idea中 Java xml注释缩进问题 解决方案
  7. php数据库 datetime转化时间错,分析php日期转时间戳
  8. DOSbox安装使用教程和汇编工具
  9. CentOS7安装vmware tools时出现Searching for a valid kernel header path… The path “” is not valid错误
  10. python算法入门