基于java+JSP+MySQL的网上订餐管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于java+JSP+MySQL的网上订餐管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 毕业设计中,界面的设计主要使用了在jsp插入HTML语言以及JavaScript对系统的页面进行相关的加工处理完善以使得页面实现的效果尽可能的满足美观的要求。而对于后台的设计主要是使用了javaSE基础编程,及javaEE中的Jsp页面的动态编程,servlet处理交互逻辑,并且使用jdbc连接数据库,数据库则选用了更为高效的MySql数据库。
  2. 本论文就此次毕业设计的系统内容,从餐品的管理,餐品的分类以及查询,到订餐车实现,客户对订单的处理,再到系统对订餐和餐品的管理。系统从业务流程的角度上分析,完成了订餐系统的基本功能,可是使得用户通过互联网进行点餐以及交易。相比于以往的订餐方式,网上订餐更加便捷,高效,对于餐厅更加节省人力,有利于管理,对于顾客更加省时省力。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:23416个字56页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图


3、关键词:

网上订餐系统; JSP; 系统管理

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

绪 论
省略

此次毕业设计的系统,网上订餐系统的开发与设计,在系统可靠性,以及项目的扩展性上占有极大优势。此外对一些java相关技术进行了部分研究,设计并且实现系统,同时为以后自己的可能还要做的其他项目打下了有效以及坚实的基础。

1 系统概述与技术介绍

网上订餐系统作为一个销售管理系统,首先在页面的结构上一定要相对有自己的独特之处,凸显餐厅的风格,餐品的质量。只有如此才能从一开始吸引顾客的目光,通过美观的页面满足顾客对此类订餐系统的好感依赖以及业务功能的需求。与此同时,系统也要有先对强的实用性,系统的实用性不强,这样的系统会是的顾客产生厌恶心理,不利于一个餐厅的未来发展。当然,作为一个销售管理系统,要对顾客的点餐做数据统计,这样才能方便餐厅对该顾客的用餐习惯分析,更好的对顾客实施更加人性化的服务。

1.1 课题背景
省略

1.2 B/S结构的介绍
此次系统的设计过程主要运用到了我们在学校以及公司经常提及使用的B/S结构。所谓的B/S系统就是浏览器、服务器的系统结构。网上订餐系统使用B/S结构,主要就是需要服务端的计算机安装数据库以及服务器。而在客户端,一个浏览器就足够。服务器在服务端运行,浏览器在客户端运行,B/S结构作为目前最先进的软件构造技术,在用户使用的浏览器向服务器提交了一些请求之后,服务器端如果接收到了用户在浏览器端发送的请求之后,服务器端对从浏览器接收而来的请求对其进行相应的业务逻辑处理,随后将其完成处理后的结果返回给浏览器所在的客户端。

B/S结构也是有很多种的,例如:针对OA系统的开发,这些系统主要包括应用程序的研发(基于C/S结构的开发),以及使用传统的C/S结构的跟网络技术结合的混合应用,以及到目前为止是我们常常用到的网站制作的技术。但是不可否认的是,每中结构以及技术都有自己的优点以及缺点:在此前的C/S结构中,更多的它是一种比较传统的使用较为广泛的软件开发的模式,主要是通过客户端以及数据库两层结构完成系统的实现,在两层之间还可以加入其他层次与结构,C/S作为先前传统的软件开发标准以及开发设计结构,在伴随网络和软件的开发技术快速进步,在各种新兴技术不断出现下,被取代或弥补了其结构的很多缺陷,于是也被其衍生出来的新兴结构技术在系统开发的过程中渐渐的将其取代。

1.3JSP技术的介绍
此次网上订餐系统中页面主要使用到的技术是java的JSP技术,JSP技术之所以被广泛被使用到各种项目中去,主要也是因为其自身拥有的很多功能,这使得在项目中可以实现满足开发人员,程序员对项目所需要的效果。
作为JSP技术的基础,servlet技术在此前的开发中一直被开发人员所应用。JSP技术的优点:
(1)进过一次的开发和编写,可以在多种平台运行。因为JSP/Servlet都是基于Java变成语言的,因此具有其编程语言的一个主要优点——平台无关性,这个就是著名的的“一次编写,随处运行(WORA – Write Once, Run Anywhere)”。
(2)系统的多平台支持性。在目前已知的所有平台JSP技术可以进行任意的环境开发,并且在平台中将项目部署在任意的环境里,相比于其他技术,可以根据自己项目的需求任意的环境中拓展。这些优势相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。JSP可以运行小到从有一个jar文件,大到多台服务器进行集群和负载均衡,多到多台Application进行transaction,还有消息处理,从一台服务器到无数台服务器,Java程序编程语言显示了其巨大的能量。
(4)功能得多态多样以及获得大多数开发工具的技术支持。这个优势和ASP有点类似,java拥有众多的的开发工具并且极为优秀好用。并且都是免费下载使用的,而且可以成功稳定得在多个平台上顺利运行。
(5)JSP标签可扩充性。JSP对Web网页的动态构建主要是利用脚本技术和标签,JSP技术站在开发者的角度考虑允许开发者拓展JSP标签,定制专属的标签库,xml标签拥有很好的兼容性以及强大的功能,网页制作者可以充分利用,减少对脚本语言的大量依赖,利用自己定制的标签,使网页制作程序员降低了制作网页的难度以及复杂度。

1.4JavaScript语言介绍
此次毕业设计,在其中的前台jsp页面中大量的使用了前端脚本语言JavaScript。 JavaScript编程语言以其独有特性,使得他在目前的大多数项目的前台页面设计以及编程都占有重要的一席之地。由于js设计来的产品会主要运行在用户的浏览器客户端,使得只要用户点击页面的一些按钮或者特殊位置,就可以触发特定的事件进行操作,在页面的JavaScript脚本就会将事件传给客户端(浏览器),在客户端被设计好的事件就会执行进行相应的事件处理完成一系列的操作。

网上订餐管理系统在前台页面的编写设计中就多次使用到了JavaScript这种流行的前端编程语言,众多的优势,使得很多项目的前台都是它和它发展衍生的众多类库编写的,例如我们熟知的:jQuery,easyUI,Extjs等在众多的丰富的前端js类库。

网上订餐管理系统在很多地方都用到了JavaScript脚本语言,例如:顾客以及管理员登录页面时候的,检出数据是否有效,包括重复为空等场景。

1.5 MySQL数据库介绍
首先要说的是MySQL是一个开源免费的数据库。这也是为什么作为一个小型关系型数据库管理系统,却获得了大量的使用,当然这并不是它的最大优点。MySQL数据库拥有很多优点,比如说:MySql的适应性很好,运行和反应速度快,使用的可靠性高。与此同时,结构化查询语句是MySql数据库系统主要使用的数据库管理方式,结构化查询语言也是目前在数据库管理语言中最受人们欢迎的,也是最为常用的。因此在很多的项目系统开发中都会被开发人员关注,经常使用。由于数据库开发者的允许,MySql作为开源的软件,在官方网站和很多其他网站都可下载到各种版本的MySql数据库。并且根据个人或者开发团队的项目需要对下载的代码做出合理的修改。由此我们可以看出,作为一个小型的关系型数据库,在一些项目的管理上是一个很好的选择,当然这也是在此项目没有超出MySql的数据处理能力的范围之外。

1.6 MyEclipse介绍
此次毕业设计主要是面向顾客用户在前台页面订餐,后台管理人员对前台页面出来的数据请求进行数据处理,并对客户端页面进行及时调整,完善的管理系统

MyEclipse开发软件对系统项目的开发更加方便快捷,开发项目的管理更具有条理性。相比于被广泛使用的Eclipse开发软件,MyEclipse在Eclipse开发软件的基础上进行了详细的优化和功能的完善,并且对Eclipse的开发环境进行了优化,最大的限度进行了拓展。使用Eclipse中很多时候我们自己要寻找安装插件,但是MyEclipse基本会帮开发人员在使用之前就集成好了,这对于开发人员的开发是十分便利的,因此目前正在广泛使用于企业级集成开发中去。而且,MyEclipse开发软件在应用程序的整合方面也显得十分成功,如果开发人员能十分熟悉Eclipse,那么对MyEclipse的使用也一定不会陌生,因为MyEclipse的快捷键与Eclipse基本保持一致。

1.7MVC模式介绍
此次毕业设计为了能够在设计实现上达到最初的想法及要求。并且使完成的系统可以具有一个优秀系统所拥有的一些优点:安全性高,可移植性好,跨品台性高,拓展性优秀,还能具有分布式结构。因此在项目中用到了前文所介绍的B/S结构体系,我所设计实现的订餐系统正式基于Java编程语言的B/S设计模式的。为了更加完善系统,结合在大学时期学过的计算机软件知识,我还用到了另一个结构模式,MVC三层结构,MVC三层结构主要是指基于模型model,视图view以及控制controller的结构模型,而MVC正是这三者英文的首字母缩写。

控制器,视图,模型三层软件设计模式是MVC软件设计模式的根本。这三层模式对应到了实际项目系统中的web服务器。目前,在网上订餐管理系统中主要使用的MVC模式,如下图。
在这里插入图片描述

图1-1 MVC设计结构图

由以上的结构图可以得知,在此次的项目系统中,前台界面页面的主要任务就是使用系统的用户可以正常的使用系统逻辑正确完成所要实现的业务。当我们使用网上订餐管理系统的时候,仅仅需要在用户的本地计算机,移动通讯设备安装一个浏览器,在这里使用的浏览器不会限制其版本,开发团队以及类型。用户就可以通过这个浏览器作为客户端与我们的网上订餐管理系统建立网络连接,用户在使用的浏览器中发送需求信息,交由在系统当中的业务逻辑进行准确的数据处理,这些过程主要是由MVC结构中的对应层次进行处理的。业务逻辑得到准确的执行处理后,将处理好的数据进行数据库的数据交互。在模型层中,数据访问层必不可少,他主要实现了当前的系统(网上订餐管理系统)对数据的增、删、改、查等数据处理操作。

由上述的阐述,我们可以得出MVC设计模式具有众多的优势,其中主要是有:
(1) 低耦合性,高内聚性
(2) 有利于开发者使用,极高的重用性
(3) 可以简单方便的使用,快速的部署
(4) 具有比较好的可维护性,易于未来的维护
(5) 具有生命周期本身成本较低的优势
(6) 软件过程化的管理方法更有利于开发的进行

2 系统需求分析
2.1 开发环境
此次毕业设计“基于JSP的网上订餐管理系统”的开发计算机环境主要是学校配发的戴尔品牌笔记本电脑,型号是惠普242G1,处理器为英特尔酷睿i5 3代系列,内存容量为 4GB,显示屏 14英寸;显卡芯片品牌NVIDIA,型号NVIDIA GeForce GT 730M+Intel GMA HD 4000;硬盘品牌希捷,容量500GB;使用的系统是Windows7旗舰版 SP1。

在我开发完成的订餐项目系统中,主要使用的数据库是当前非常受欢迎的开源免费的数据库MySQL。进行项目系统开发,发布管理的软件也是MyEclipse工具。使用到的技术,主要是JSP技术,以及前端流行的脚本语言JavaScript,还有JAVA编程语言,HTML标签 等。此次完成的系统项目,订餐管理系统是不需要使用户安装客户端程序就可以使用,用户只需要使用浏览器就可以正常的,完整的使用订餐管理系统的全部所有功能。

2.2 需求分析
省略

2.3 可行性研究分析
省略

(1)技术可行性分析
在目前大多数的公司使用到的软件开发工具是MyEclipse ,例如我目前实习的公司就是用的是MyEclipse2016,因此我在我此次的项目系统,网上订餐管理系统就是用到了MyEclipse 软件开发工具。ava作为一当下最受欢迎关注的编程语言,历久弥新,而且方便灵活使用,是此次开发系统的不二之选。

(2)经济的可行性分析
省略

(3)法律可行性分析
省略

3 系统概要设计
3.1 系统设计概述
省略

3.2 系统功能分析
作为网上订餐管理系统主要是为顾客提供便捷,全面的订餐服务,重点要放在面对顾客的页面功能上,其次是管理员对餐品以及餐厅的管理,系统主要模块的设计:
1.前台模块:
(1)食品展示模块
(2)食品查询模块
(3)购物车模块
(4)收银台模块
(5)用户维护模块
(6)订单查询模块
(7)公告模块

2.后台模块:
(1)食品管理模块
(2)用户管理模块
(3)管理员维护模块
(4)订单管理模块
(5)公告管理模块
(6)留言管理模块
如图3-1系统功能层次图所示。

主要包括这几个方面,其中顾客订餐功能模块是主要重点模块,其次是管理员管理功能模块。当订餐系统管理员使用拥有管理权限的管理员用登录管理员页面的时候。可以看到目前订餐系统中保存的用户信息数据,菜品的数据,员工的数据以及状态,订餐的具体信息,采购原材料的具体情况,以及对顾客页面的管理,例如:留言板,以及营养小贴士等等。通过管理员对餐厅的管理,给予顾客最好的网上订餐服务。

顾客订餐功能的相对应的模块:主要是顾客进入订餐系统网站之后,可以看到整体的订餐系统网站结构,进行系统的客户端登录,注册,以及对现登陆用户的信息修改,搜索菜品,点餐,订餐,支付,留言的相关功能,通过众多的订餐系统功能。

管理员系统管理功能相关模块:主要是餐厅管理员从后台管理页面登录管理系统之后,对订餐系统的一些具体业务的调整,可以注册新管理员,以及对现有登录管理员信息的修改,查看分析管理目前注册的顾客的信息,查看修改调整现有菜品的具体情况,新增,删除,完善菜品;对目前餐厅原材料的采购和统计;以及对餐厅员工的管理,新增删除和调整状态;更重要的是可以对目前已知订餐的及时管理,还有就是对顾客订餐页面的一些人性化管理,查看顾客留言,修改给顾客查看的营养小贴士。

通过这个两个主要的模块,可以完成订餐系统的综合管理,包括了顾客的主要功能,注册,登录,点餐等;以及管理员对餐厅多方面的管理,完成管理员对顾客的服务交互。
在这里插入图片描述

图 3-1系统功能层次图

3.3 系统用例图
通过管理员用例图,可以清晰的,直观的看到管理员在网上订餐管理系统中对用户订餐以及用户本身的一些主要的操作:
1、管理员可以管理餐品信息。
(1.)管理员可以添加菜品信息。
(2.)管理员可以删除菜品信息。
2、管理员可以管理订单信息。
3、管理员可以管理订餐系统中注册的用户信息。
(1.)管理员可以删除用户注册信息
(2.)管理员可以修改用户信息
4.管理员可以对留言进行管理。
5.管理员可以对用户进行管理。
管理员用例图图,如图3-2所示。

在这里插入图片描述

图 3-2 管理员用例图

通过用户(顾客)用例图,可以更加直观的理解在网上订餐管理系统中主要的客户端服务,用户主要使用的功能以及进行的操作,如下:
1、游客可以注册会员信息
2、游客可以浏览菜品。
3、游客可以查看公告。
4、注册会员的用户可以通过注册信息登录
5、会员可以在订餐页面浏览菜品信息
6、会员可以修改会员信息
7、会员可以对正在进行的订餐进行修改
8、会员可以对完成的订餐进行查询
9、会员可以进行留言
因此,为了可以更加准确,生动的理解上述所说的用户主要使用的订餐服务功能。绘制用例图就很方便的展示了用户使用主要使用的功能,用户(顾客)用例图,如图3-3所示。

在这里插入图片描述

                 图 3-3 用户(顾客)用例图

对于主要功能的业务处理,例如网上订餐管理系统整个业务逻辑处理中最为主要的一部分就是订单处理部分,为了更加直观的理解整个业务逻辑,最对订单的具体的操作如下:
1、可以通过用户操作对订单信息,菜品信息进行添加。
2、可以通过用户操作对订单信息,菜品信息进行处理。
3、可以通过用户操作对订单信息,菜品信息进行删除。

3.4 系统流程图

想对订餐管理系统进行操作,管理员需要登录订餐管理系统的后台管理系统,才能进行一系列的对应管理操作。如果登录时候出现异常,登录失败等状况,系统会要求管理员核对身份密码后重新登录。登录成功之后,就可以通过订餐管理系统的后台模块对整个订餐管理系统进行正确有效的管理。对订单的处理,对菜品的修改,添加,删除。对员工的添加,删除,管理。对原材料的采购登记。订餐管理系统目前的概况,都可以从订餐管理系统的管理员模块进行查看,分析,以及做出及时的相应调整。

如图,是订餐管理系统的后台管理员模块操作的基本流程图,通过路程图,可以更为直观的看到管理员进行登录操作时的系统业务流程,进行登录,成功进行模块的管理,失败则重新登录等操作,如图3-4管理员流程图所示。

在这里插入图片描述

图 3-4 管理员流程图

4 数据库设计与实现

4.1 数据库的结构设计
省略

4.1.1概念结构设计
本数据库为满足网上订餐系统的要求,保证使用者信息准确充分的同时,系统的安全性也同样重要。所以,至少要拥有以下功能:
(1)建立数据表保存使用者注册、登录、验证等功能所需要的数据;
(2)建立两张表,分别保存食品分类信息和食品的详细信息所需要的数据,对食品分类信息分类管理;
(3)使用者确认下单后出现的订单应当记录,包括订单号、地址等详细信息;
(4)订单自动生成滞后,需要记录订单的状态;
(5)除系统管理员外,其他人不能进行系统维护,所以要建立一张表保存管理员的信息;
(6)使用者会对餐品提出意见,那么应该有留言表,留言表内含标题、日期和留言详情。
根据以上信息,网上订餐系统的E-R图如图4-1所示。
在这里插入图片描述

图3-2 系统设计E-R图

4.1.2 表概要说明

网上订餐管理系统主要包括了9张数据表,分别是餐品菜品信息数据表c_book,用户顾客注册数据表表member,管理员数据表admin,餐品菜品类别数据表c_booktype,用户评论数据表comment,订餐车数据表gouwuche,营养小贴士数据表news,订单数据表num,订单详情信息数据表orderbook。其中最为重要的5张数据表,将会在详细描述其表结构。

4.1.3 数据表的结构

(1)餐品菜品信息表c_book
餐品菜品信息数据表主要是用来保存菜品的基本信息,价格,菜名,描述等,该表的结构如表4-1所示。
表4-1 c_book的结构
在这里插入图片描述

(2)管理员信息数据表admin
管理员信息数据表,主要是适用于保存管理员的基本信息。表结构如表4-2所示。

表4-2admin的结构
在这里插入图片描述

(3)菜品类型数据表 c_booktype
菜品类型数据表,主要保存了当前订餐系统的菜品类型,类型可以根据餐厅的需求,管理员对其进行增加,删除,以及修改等操作管理,如表4-3所示。
表4-3c_booktype的结构
在这里插入图片描述

(4)用户(顾客)注册信息数据表member
用户注册信息数据表主要保存了,使用订餐管理系统的用户注册的信息,这张数据表极为重要,表结构如表4-4所示。

表4-4member的结构
在这里插入图片描述

(5)订单详情信息数据表orderbook
订餐详细信息数据表,主要记录了顾客订餐之后,完成的订餐,订餐中主要记录了此时用户完成的订单的详细信息。数据表的结构如表4-5所示。

表4-5 orderbook的结构
在这里插入图片描述

5 系统的实现
5.1 前台模块首页

作为网上订餐管理系统,展现给用户的客户端前台页面是整个项目中最为重要的一环,而首页也是使用户的留下主要印象,重要的得分点之一。一个好的首页能为系统做良好的推广效应,展现系统的主要功能,使得用户可以通过简单快捷的熟悉上手,掌握使用方法,实现自己当前的需求。前台客户端页面首页,运行效果如图5-1。
在这里插入图片描述

图5-1 前台客户端页面首页设计效果图

如图5-1,我们可以看到,用户使用的首页展示了系统客户端的主要功能,包括,用户的登录,一些管理员希望用户看到的信息,以及目前餐厅主要的菜品,还有就是重要的模块功能导航栏,通过导航栏的点击,用户可以进入相应的功能模块,实现自己目前的需求,包括:详细的点餐,会员中心,订餐车,留言,找回密码等主要用户使用功能。

首页的部分JSP页面代码:

<table border="0" width="99%" cellspacing="0" cellpadding="0"
height="100%">
<tr>
<td>
<%  ArrayList alNewly = (ArrayList) request.getAttribute("books");
	ArrayList alType = (ArrayList) request.getAttribute("type");
				int tem = 0;
				int x = 0;
				if (alNewly.size() % 3 == 0) {
				tem = alNewly.size() / 3;
			} else {
			  tem = alNewly.size() / 3 + 1;
			 }
for (int n = 1; n <= tem; n++) { %>
<table cellspacing="0" cellpadding="3" width="710" border="0">
<tr>
<% for (int i = n * 3 - 3; i < alNewly.size(); i++) {
	ArrayList alNewlyRow = (ArrayList) alNewly.get(i); %>
<td align="middle" width="710">
	<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2" align="center" bgcolor="#FFE3BB">
<font color="#ff9900"><%
	 for (int j = 0; j < alType.size(); j++) {
	 ArrayList alTypeRow = (ArrayList) alType.get(j);
	if (alTypeRow.get(0).equals(alNewlyRow.get(8))) {  %>
<a href="servlet/SearchServlet?types=<%=aTypeRow.get(0)%>">
<%=alTypeRow.get(1)%>
</a><% break;}}
%></font>

5.2用户注册登录管理
用户在使用订餐管理系统客户端页面进行订餐。首先需要登录系统,登录之后才能享受订餐系统带来的便捷快速的订餐服务,如果当前还没有可以登录的账号,首页提供有注册用户的入口。针对已经登录的用户,若果想对自己当前所使用的用户信息进行一些调整,系统也提供了会员中心管理页面,来满足此类用户的需求。如图5-2为用户登录功能的页面:

在这里插入图片描述

图5-2用户登录页面效果图
用户进行登录之后就可以进行点餐,搜索等相应功能的操作了,图5-3为用户注册页面效果图。

图5-3用户注册页面效果图
用户登录的程序流程图如图5-3所示。

在这里插入图片描述

图5-3用户登录程序流程图

在用户进行注册成为系统的正式用户之后,就可以进行功能的使用了,但是如果出现对当前用户信息的变更操作,就可以在用户的会员中心,对当前登录的用户信息进行修改,如图5-4为用户会员中心页面效果图:

在这里插入图片描述

图5-4用户会员中心页面效果图

5.3用户订餐管理功能

订餐管理系统,作为用户使用的客户端的主要功能就是给用户带来便利的网上点餐服务,此次设计实现的基于JSP的网上订餐管理系统,点餐服务主要通过两个页面来展示菜品使用户进行点餐操作,一是首页点餐,首页会展示目前主要的菜品,以及销售排行和新上菜品,根据这些推荐信息,可以给用户带来更加贴心的用户体验;二是搜索点餐,可以通过首页上方的工具栏,点击进入搜索点餐页面,通过菜品的名称或者菜品所属的类别进行针对性的搜索,然后进行点餐,如图5-5为首页点餐页面效果图。
在这里插入图片描述

图5-5 首页点餐效果图
在这里插入图片描述

如图5-6为搜索点餐页面效果图。

图5-6索点餐页面效果图
搜索点餐页面,通过针对性的搜索可以使用户快速的找到自己需要的菜品,进而完成自己的点餐过程。

进行菜品搜索的servlet部分主要代码是:

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Validate vd = new Validate();
		String name = vd.getUnicode(request.getParameter("name"));
		String types = vd.getUnicode(request.getParameter("types"));
		String sql = "select * from s ";
		String[] args = {"id","name","author","publishing","number","price",
"storage","brief","type","tate","sums","imgpath","price1","sums1"};
		if(name != null && !name.equals("")){
			sql += "where name like '%"+name+"%'";
//构建对菜品名称查询的SQL语句
		}
		if(types != null && !types.equals("")){
			sql += "where type='"+types+"'";
//构建对菜品类别查询的SQL语句
		}
		SelectBean sb = new SelectBean();
		ArrayList al = sb.select(sql, args);
		request.setAttribute("search", al);
		RequestDispatcher rd=request.getRequestDispatcher("/qiantai/search.jsp");
//跳转到前台菜品搜索页面
        rd.forward(request,response);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request,response);
	}

当用户找到自己心仪的菜品之后,进行点餐操作,所选菜品点餐成功之后,将跳转到订餐车页面,订餐车页面将展示目前为止,用户所选的菜品,如图5-7为订餐车页面效果图。
在这里插入图片描述

图5-7购物车页面效果图

在购物车页面中,用户可以清晰的看到目前所点的菜品信息,也可以根据目前自己的需求对已经点的菜品进行操作,例如修改数量,或者删除目前选中的菜品,甚至清空,如果认为还有所需要的菜品,可以点击继续点餐,进入点餐页面,继续点餐操作。当用户认为菜品足够,可以点击收银台,进行订单的提交。

进行提交之后,将进入收银台页面,点击在线支付,将提供支付宝链接,这样就可以支持网上在线支付,使得用户可以付款进而完成当前的订单。如图5-9为收银台页面效果图。

在这里插入图片描述

图5-9收银台页面效果图

5.4用户其他功能操作页面
网上订餐管理系统,不仅能让用户进行注册,登录,修改信息的操作,更重要的是让用户得到良好的订餐功能体验。因此,用户除了可以操作上述的订餐页面之外,也可由有其他更加人性化的功能,例如在此次毕业设计“基于JSP的网上订餐管理系统”中出现的营养小贴士,以及在线留言功能。
营养小贴士可以用过管理员在后台进行编写,让点餐的用户看到,提供更加贴心的服务,而在线留言功能可以让用户对当前订餐管理系统中存在的问题,以及改进意见进行表达,达到更好的交互体验。如图5-10为用户在线留言页面效果图。

在这里插入图片描述

图5-10 在线留言页面效果图

5.5后台管理员登录,注册功能
作为一个订餐管理系统,仅仅有用户功能的页面是远远不够的,要提供更加全面的服务,为餐厅管理员提供功能管理页面就显得十分重要。通过系统的后台管理管理页面,对餐厅做出实时的管理,了解用户点餐情况以及目前员工的管理,这样才能更好运作系统,使得用户拥有更好的用户订餐体验。
如图5-11为后台管理员登录页面效果图,5-11为注册管理员,以及修改管理员页面效果图。

在这里插入图片描述

图5-11后台管理员登录页面效果图
通过登录,管理员可以进入后台管理页面对订餐系统进行管理,可以对当前登录管理员进行修改以及添加新管理员。

在这里插入图片描述

图5-12 管理员注册及修改页面效果图

5.6后台管理员菜品管理

管理员通过添加新菜品,以及修改原有菜品,对订餐系统中的菜品进行调整,通过添加菜品的类别可以对菜品进行更加完善的管理。添加菜品时候,通过添加菜名,原材料,价格,图片,以及添加目前拥有的菜品类别等信息,来给用户展示一道菜的方方面面,这样使用户通过网络放心的进行订餐。如图5-13为添加菜品页面效果图。
在这里插入图片描述

图5-13 添加菜品页面效果图

5.7后台员工及会员管理

管理员登录后台管理系统之后,不仅能对现有系统注册的会员进行管理,还可以对当前餐厅的员工进行管理,可以添加,删除,修改员工信息,根据目前员工的工作状态也可以在系统中进行标注。添加了员工搜索功能,这样方便了网上订餐管理系统,后台管理模块对员工的综合管理,如图5-14为员工管理页面效果图。
图5-14 员工管理页面效果图
在这里插入图片描述

5.8后台材料采购管理

作为一个订餐管理系统,要将每一天做菜使用的原材料进行统计管理,这样才是一个完善的订餐管理系统。对于原材料采购的记录管理,这样更能方便餐厅管理员,对整个餐厅进行全面的管理,做到对每一天的食材的把控,部分食材采购量的调整,对餐厅运营的成本的管理把控。如图5-15为原材料采购管理页面效果图。
在这里插入图片描述

图5-15 原材料采购管理页面效果图

通过对原材料的统计把控,以及对一段时间的采购单种类及数量的分析,可以知道什么时候需要采购什么材料,采购的数量的参考量,采购的具体方向。对近期,原材料价格走向进行统计分析,得出对餐厅最为合适的采购方案,避免不必要的采购,或采购的数量不准确,导致的餐厅管理成本的提高,这都是需要注意以及及时避免的。

5.9销售订餐及统计管理
作为网上订餐管理系统,对于当前订餐订单的管理是不可或缺的,因为只有对近期订单进行分析才能知道,用户喜欢的菜品,进而进行针对化的应对,挺高服务质量,对销量高的菜品背后的工作者–厨师,进行奖励管理,提高工作效率,菜品的质量保证。对近期采购单的统计,有效的看出采购方向,和采购数量,为今后采购提供了有力的数据参考保障,避免采购人员出现不必要的事物,餐厅承担不必要的损失。如图5-16为销售订单管理页面效果图。
在这里插入图片描述

图5-16销售订餐管理页面效果图
如图可以看到,管理页面提供了多样的搜索条件用来搜索符合条件的订餐,例如:用户id,菜品名称,订购数量,这些搜索条件可以快速定位符合条件的订单,然后反馈给管理员来进行订单的管理。
除此之外,还有统计管理功能,如图5-17为统计管理功能页面效果图:
在这里插入图片描述

图5-17 统计管理页面效果图
如图,统计管理页面可以清晰,完整的看到当日的订餐销售量,销售信息,以及当日对原材料的采购量信息,这方便了管理员对餐厅的管理,也为用户提供快速,优质的使用体验实现了坚实的保障。
使管理员对当前餐厅的实时状况有了深刻的认识,哪些菜品销量高,需要提前准备,原材料需要大量采购;哪些菜品销量过低,需要减少原材料的采购,甚至下架。近期的用户更喜欢,哪些类别的菜品,是否与天气季节相关,需要对员工厨师进行具体化的调整,提供了有力的数据佐证,与数据分析的资料。这都对今后餐厅的发展十分重要,也是网上订餐管理系统可以被餐厅使用的重要原因之一。

6 系统测试
省略

6.1 测试方法
在项目进行完整的整合与交互中,对项目系统进行全面的测试,对项目的整体进行问题的查找,在这个过程中耗时相对而言较多。但是也正是因为系统测试的存在,使得系统有了综合质量的保证。
为了确保网上订餐系统的稳定运行,本节对主要功能模块进行测试。

6.2 测试流程
写好测试的数据以及案例,并对测试数据进行设计逻辑的处理,得出期望结果。
6.2.1前台首页测试
(1)查询模块的测试
首先点击主页正中间的查询栏,在查询栏里中输入要查找的菜品关键字,如果弹出所查找菜品的信息,则说明该模块可行。对该模块进行大量数据的测试,验证其成功无错误。
(2)菜品分类浏览模块的测试
单击页面左边的菜品分类信息,选定某一种类后,系统会弹出属于该类别的所有菜品信息。对给模块进行大量数据的测试,验证其成功无错误,
该模块能够完整地实现功能。

6.2.2购物车模块测试
在本模块中首先对修改数量单元进行了测试,如果填写的数量为可行的有效数字如1、2、3,则系统提示修改成功,如果输入的制服非法,系统默认修改数量为1。通过随机数据的测试,验证其成功无错误。假如使用者订购了同一个商品,系统就会对该商品的购买数量进行累加。
然后对购物车是否能满足使用者的购买数量进行测试,向购物车中添加大量的食品,查看购物车是否会发生崩溃现象。经过测试,购物车完全满足设计要求,达到了预期目标。
6.2.3菜品管理模块测试
(1)添加功能的测试
在菜品添加的功能下,对于已经选定的菜品名、菜品信息、菜品的图片、价格、特价、菜品种类进行添加。通过下拉的选择列表选择菜品的类别,对于菜品图片的添加,需要选择本地的菜品图片,然后上传,当所有必须的食品信息都已经填写完毕的时候,即可上传添加。完成添加以后,随机使用几组不完整的数据对本功能进行测试,均显示失败。

(2)删除功能的测试
以上述添加的这一条记录为例,点击删除按钮,会跳出是否删除的提示信息,点击确定按钮之后,系统返回删除成功的信息。对于菜品分类信息的删除,则需要在本分类之下已经没有菜品信息,否则将不能删除。
6.2.4会员注册模块测试
在会员注册模块中涉及到了三项数据,项目分别为密码和确认密码、使用者真实姓名、住址、性别、E_mail、QQ。测试这个模块准备的数据有:
(1)979332、979332、王、太原市万柏林区、男、123456@qq.com、123456
(2)岑、12345、1234岑、太原市万柏林区、男、bzhi@123.com、6434634
点击注册按钮,输入第一组数据,单击注册按钮网站会提示表单信息不能为空,因为表单信息要全部填写,而昵称没有填写。接着测试第二组数据,两次所输入的密码并不一样,系统会弹出提示。

6.3 系统测试结果

当本次毕业设计完成完整的项目开发之后,对本次的“基于JSP的网上订餐管理系统设计与实现”,进行了相应的测试,主要的情况如下:
在项目开发的过程中,每一个进程的每一步都需要被全面的考虑到,从而确保系统在个个时期具备可控性和稳定性。本章注重对前台首页、购物车模块、使用者注册模块和商品管理模块进行了详细的测试说明。对这些模块进行大量数据的测试,验证其成功无错误。

总 结
省略

参考文献

[1] 康牧,JSP动态网站开发实用教程,清华大学出版社,2009.
[2] 戴维尔,JavaScript程序员教程,电子工业出版社,2010.
[3] 杨学瑜,高立军,软件开发过程与项目管理,电子工业出版社,2008.
[4].唐友国 湛洪波著.JSP网站开发详解.电子工业出版社2008年10月.
[5]卫红春等著.信息系统分析与设计[M].北京.清华大学出版社.2009.
[6] 张文静 林琪著.JSP程序设计.人民邮电出版社.2005.
[7] 张孝祥、徐明华, JAVA基础与案例开发详解, 清华大学出版社, 2009.
[8] 张洁才,Java web应用开发教程,科学出版社,2005.
[9] 戴维尔,JavaScript程序员教程,电子工业出版社,2010.
[10]James D. McCaffrey等著.NET软件测试自动化之道[M]. 北京.电子工业出版社.2007.
[11] 黎连业、王华、李淑春,软件测试与测试技术,清华大学出版社,2009.
[12].张大方 李玮等著.软件测试技术与管理[M].湖南.湖南大学出版社,2007.
13Elliotte Rusty Harold著.Java Network Programming.东南大学出版社 .2005.
14H.M.Deitel,P.Jdeitel著.Java程序设计教程(第五版). 清华大学出版社.2004.
15David flanagan著.Java技术手册(第五版).东南大学出版社.2006.
16John J.Patrick著.SQL基础(第二版).清华大学出版社.2004.

致谢
省略

附录:英文翻译
英文原文
省略

中文翻译
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于java+JSP+MySQL的网上订餐管理系统设计与实现(源码+文档)_javaEE_JSP_BS_网上订餐管理系统.zip
Logo

快速构建 Web 应用程序

更多推荐