航空订票系统(javaweb项目)
航空订票系统课程设计
一、项目选题
航空订票系统
二、项目背景
当今社会知识经济高速发展,信息化在各个行业内正在被越来越广泛的应用。人们生活水平的不断提高,使得出行的交通工具也跟着发展起来。如今乘飞机出行的人越来越多,这方面的市场越来越大,基于此制定了航空订票系统,方便游客,满足市场要求。
三、需求分析
航空订票系统的需求如下
航空订票系统中有两种角色信息,分别是普通用户和管理员。其中普通客户可以注册并登录系统,还可以对自己的身份信息、密码信息进行修改。普通用户还可以查询所有的航班信息,并订购自己需要的航班。在订购航班时,还可以设置机票的数量。订购完成后,订购的航班信息将添加到购物车中。用户可以在航班日期前一天进行退票。
管理员主要负责制定航班信息,其中制定航班信息包括如下信息,航班的编号、出发地点、目的地、航班日期、票价以及票数信息。
四、功能模块分析
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项目)相关推荐
- java小项目(公交车管理系统+航空订票系统)
航空订票系统 //测试函数放在Booking里面 //Enum PassengerCabin package systemofAirplane;public enum PassengerCabin { ...
- 航空订票系统界面java_Java命令行界面(第21部分):航空公司2
航空订票系统界面java 本系列文章的第21篇关于Java中解析命令行参数的文章的重点是Airline 2库. Airline 2的GitHub项目页面描述了该库," Airline是一个J ...
- 基于h5的航空订票系统的设计与实现
1,项目介绍 基于 SpringBoot,h5 的航空订票系统系统拥有两种角色,分别为管理员和用户. 用户:机票浏览,机票查询,机票预定,新闻浏览,购票信息管理,留言信息管理 管理员:购票信息管理,机 ...
- Python-Django毕业设计航空订票系统(程序+Lw)
该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...
- [附源码]Python计算机毕业设计航空订票系统Django(程序+LW)
该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...
- 东北大学20级计算机C语言课设-航空订票系统
航空订票系统 开发人员:东北大学20级计算机系学生 开发团队:三人小组 开发语言:C语言 开发工具:vs2015 有疑问欢迎进行讨论 总代码数量大概在三千五百行左右 耗时近一个月的时间完成了该次课设, ...
- 精品基于java开发的航空订票系统SSM
<基于java开发的航空订票系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1. ...
- 基于JAVA Web的航空订票系统
基于JAVA Web的航空订票系统 开发语言:JSP,JAVAweb 开发平台:eclipse; 数据库:MYSQL: 系统分为前台和后端: 前台界面图: 登录界面: 主界面图: 后端界面 登录: 后 ...
- 基于java开发的航空订票系统
<基于java开发的航空订票系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1. ...
- JAVA毕业设计航空订票系统计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计航空订票系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计航空订票系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
最新文章
- java双目运算符重载,c++类的单目和双目运算符的重定义
- js关于正则的前后关联约束(前后预查)
- AM335X can驱动移植
- 陌生人交友IM即时聊天系统-得推交友系统v3.0源码
- 信号调制产生边频的原理及希尔伯特解调
- 7-130 古风排版 (20 分)
- 解决Julia使用PyPlot库出现ERROR: ArgumentError: hasproperty of NULL PyObject问题
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_7_File类创建删除功能的方法...
- 虚拟机安装教程win10_Win10封装教程1-VM虚拟机安装及配置
- 段式存储、页式存储及段页式存 详解
- Python快速生成gif图
- Archlinux无法启动vmware虚拟机
- 罗技M545鼠标是不是垃圾鼠标中的战斗机?
- 6 款代码对比工具,你知道几个?
- 国密算法 SM2 SM3 SM4 及密钥生成
- 计算机中的英语六级作文万能模板,英语六级作文万能模板汇总
- XFTP连接服务器成功,传输文件失败解决方案
- 手动安装couchdb并且指定版本 详细教程
- 长沙理工计算机竞赛黑马,全国第三!长理紧跟清华、华科成最大黑马!
- arm数据库服务器性能,arm mali 天梯图_移动处理器GPU性能天梯图数据库
热门文章
- ajax提交form返回数据格式,ajaxSubmit 返回值
- 以撒的结合:胎衣+(启示录Revelations MOD)不起作用失效(道具可以捡但是没作用失效等)
- 下载和安装R、RStudio !~~~
- 360os比android,手机系统比拼360OS、Flyme究竟哪个好?
- matlab生成数据以二进制数据格式写入txt文件中
- idea中 Java xml注释缩进问题 解决方案
- php数据库 datetime转化时间错,分析php日期转时间戳
- DOSbox安装使用教程和汇编工具
- CentOS7安装vmware tools时出现Searching for a valid kernel header path… The path “” is not valid错误
- python算法入门