当前位置: 首页 > news >正文

春日美食汇:基于SpringBoot的订餐平台

2 系统关键技术
2.1JSP技术
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件()。htm,。Html) [1]。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,帮助程序开发者省下许多时间,JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性[4]。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计。
JSP的优点:编写一次,始终运行。还有jsp可以延展可以缩短的强大优势,还有就是支持多种开发语言并且兼容性好,适用于很多平台顺利运行[12]。
2.2 JAVA技术
Java是面向对象进行编程的一门语言,基础语法和C语言、C++都差不多,Java删除了C++里面的多指针、继承、自动的强制类型转换等,Java的JVM还可以自动进行垃圾回收,减少了程序员的后顾之忧。最重要的一点是Java语言是支持跨平台的,这使Java语言的使用更加广泛。
JDK(Java Development Kit)是Java语言的软件开发工具包。Java开发中JDK是最重要的核心,JDK里面有JRE,包括client和server端的。环境变量需要配置好。[4]
JRE(JAVA Runtime Environment)是支持Java程序运行的标准环境,JRE里面只有client运行环境,会自动的添加PATH 。
2.3 B/S结构
随着互联网和浏览器的发展,B/S的开发架构逐渐取代了C/S架构,B/S的开发架构是一种浏览器和服务器的模式,它将应用程序的大部分功能都放在服务器端,客户机端只需要安装浏览器(Browser),通过Web Server对服务器端安装的数据库进行数据读取和存储[3]。其B/S架构图如下图所示:
在这里插入图片描述

图2-1 B/S模式架构图
B/S最大的优点就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。基于C/S架构的系统只可以被使用在本地电脑上,不能通过计算机网络来进行使用和操作,在使用地理位置等方面都没有B/S架构使用方便。
2.4 MYSQL数据库
MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[15]
MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。

3 系统分析
3.1 可行性分析
通过对本网上订餐系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、操作可行性、经济可行性和时间可行性四方面进行分析。
3.1.1 技术可行性
本基于Spring Boot的网上订餐系统采用JSP和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2 操作可行性
操作可行性也就是系统的可用性,系统使用起来必须具备简单的操作导航和界面,不能有太复杂的操作和使用流程。本网上订餐系统的界面简单易操作,用户只要平时有在用过电脑,都能进行访问和操作。系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。所以系统在操作上具有很高的可行性。
3.1.3 经济可行性
在开发程序时用到的开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。
3.1.4 时间可行性
从2020年11月份我们在学校就没有课程了,同学们大部分选择找工作实习了,我也是在其中。一边找工作的同时,一边忙着完成毕业设计工作。对于我本人来讲,目前的情况是白天我要上班参加实习工作,只有晚上我才有时间完成论文编写工作。论文答辩是在2021年5月份左右,将近半年时间来完成毕业设计,时间上还是很充分。
从上面几个部分的可行性分析得出,这次开发的基于Spring Boot的网上订餐系统在开发上面没有什么大问题,值得开发。
3.2系统性能分析
(1)系统的存储性:因为是网上订餐系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。
(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。
(4)系统稳定性:开发的网上订餐系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。
3.3系统功能分析
本基于Spring Boot的网上订餐系统主要分管理员和用户两大功能模块,下面将详细介绍管理员和用户分别实现的功能。
3.3.1用户功能分析
用户进入本系统可查看系统信息,包括首页、菜品信息等,用户要想实现下单订餐操作,必须登录系统,未有账号的用户可进行注册,注册登录后主要功能模块包括个人中心、订单信息管理以及订单配送管理,用户用例图如图3-1所示。
在这里插入图片描述

图3-1 用户用例图
3.3.2管理员功能分析
管理员登录后可对系统进行全面管理,管理员主要实现的功能模块包括个人中心、会员管理、菜品分类管理、菜品信息管理、订单信息管理、订单配送管理、管理员管理以及系统管理,管理员用例图如图3-3所示。
在这里插入图片描述

图3-2 管理员用例图
3.4 系统结构分析
3.4.1逻辑结构
基于Spring Boot的网上订餐系统的特点就是利用Browser/Server(B/S)结构,为用户提供了一个网络订餐的平台,让用户只要上网就可以实现订餐的操作。
本系统的网络应用原理示意图如图3-3所示:
在这里插入图片描述

图3-3系统的网络应用原理示意图
3.4.2物理结构
系统实现的物理结构如图3-4所示:
在这里插入图片描述

图3-4 系统实现的物理结构图
3.5 系统流程分析
3.5.1注册流程
未有账号的用户可进行注册操作,用户注册流程图如图3-5所示。
在这里插入图片描述

图3-5注册信息流程图
3.5.2登录流程
登录模块主要满足了管理员和用户的权限登录,用户登录流程图如图3-6所示。
在这里插入图片描述

图3-6 登录流程图

相关文章:

春日美食汇:基于SpringBoot的订餐平台

2 系统关键技术 2.1JSP技术 JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件()。htm,。Html) [1]。 JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性&#xf…...

微信小程序中如何监听元素进入目标元素

Page({onLoad: function(){// 如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe(.target-class, (res) > {res.inter…...

华为 HCIP-Datacom H12-821 题库 (6)

有需要题库的可以看主页置顶 V群仅进行学习交流 1.转发表中 FLAG 字段中B 的含义是? A、可用路由 B、静态路由 C、黑洞路由 D、网关路由 答案:C 解析: 可用路由用U 表示,静态路由用 S 表示,黑洞路由用 B 表示&#x…...

常见的pytest二次开发功能

pytest框架的二次开发主要是为了满足特定的测试需求或扩展其功能。以下是一些常见的pytest二次开发的功能及其实例,以及如何进行开发的大致步骤: 常见的pytest二次开发功能 定制化测试报告: 功能描述:pytest默认生成的测试报告可…...

Linux下安装MySQL8.0

一、安装 1.下载安装包 先创建一个mysql目录,在将压缩包下载到此 # 下载tar包 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz等待下载成功 2.解压mysql8.0安装包 tar xvJf mysql-8.0.20-linux-glibc2.12-x86…...

【Python】CSV文件的简单使用

1.读取CSV文件 import csvpath "123.csv"with open(path) as f: # 打开csv文件csvReader csv.reader(f) # 读文件建立Reader对象listReader list(csvReader) # 将数据转换成列表print(listReader)2.写入CSV文件 import csvpath "123.csv"with ope…...

jobs命令

jobs命令是Unix/Linux shell中的一个内置命令,用于显示当前shell中正在运行的作业(job)的状态。作业是指在后台执行的命令或命令序列。 jobs命令的基本用法 显示所有作业的状态 当你在终端中启动一个命令并在其后加上&符号时&#xff…...

《深入浅出WPF》读书笔记.11Template机制(上)

《深入浅出WPF》读书笔记.11Template机制(上) 背景 模板机制用于实现控件数据算法的内容与外观的解耦。 《深入浅出WPF》读书笔记.11Template机制(上) 模板机制 模板分类 数据外衣DataTemplate 常用场景 事件驱动和数据驱动的区别 示例代码 使用DataTemplate实现数据样式…...

C语言程序设计(算法的概念及其表示)

一、算法的概念 一个程序应包括两个方面的内容: 对数据的描述:数据结构 对操作的描述:算法 著名计算机科学家沃思提出一个公式: 数据结构 +算法 =程序 完整的程序设计应该是: 数据结构+算法+程序设计方法+语言工具 广义地说,为解决一个问题而采取的方法和步骤…...

【最新华为OD机试E卷-支持在线评测】猜数字(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…...

上海亚商投顾:深成指、创业板指均涨超1%,华为产业链反复活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 大小指数昨日走势分化,沪指全天震荡调整,2800点失而复得,深成指、创业板指…...

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序…...

C++17: 用折叠表达式实现一个IsAllTrue函数

前言 让我们实现一个 IsAllTrue 函数,支持变长参数,可传入多个表达式,必须全部计算为true,该函数才返回true。 本文记录了逐步实现与优化该函数的思维链,用到了以下现代C新特性知识,适合对C进阶知识有一定…...

【IPV6从入门到起飞】2-2 获取你的IPV6(Teredo隧道)

【IPV6从入门到起飞】2-2 获取你的IPV6(Teredo隧道) 1 打工人的忧伤2 Teredo介绍2.1 背景2.2 工作原理 3 Linux 服务器获取IPV63.1 安装3.2 设置开机自启动和启动3.3 开放防火墙 UDP 35443.4 查看IPV6以及ping包测试3.5 修改Teredo服务器3.6 重启服务3.7…...

Linux 安全弹出外接磁盘

命令行操作 首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区 清空系统缓存,将所有的数据写入磁盘 sync 列出已挂载的文件系统 使用lsblk或者df命令来查找要卸载的分区 lsblk or df -h确保没有文件正在使用 使用lsof 命令来…...

面试准备-6

NIO底层是用Selector、Channel和ByteBuffer来实现的。主线程在循环使用select方法进行阻塞等待,当有acceptable(可连接)、readable(可读)或者writable(可写)事件发生的时候,循环就会…...

context canceled 到底谁在作祟?

一、背景 在工作中,因报警治理标准提高,在报警治理的过程中,有一类context cancel报警渐渐凸显出来。 目前context cancel日志报警大致可以分为两类。 context deadline exceeded 耗时长有明确报错原因 context canceled 耗时短无明确报错…...

windows C++ 虚拟内存的按需调拨

虚拟内存的按需调拨 windows C 虚拟内存的按需调拨 文章目录 虚拟内存的按需调拨虚拟内存的按需调拨 虚拟内存的按需调拨 /*------------------------------------------------------------------------24-SEHAndMemory.cpp演示虚拟内存的按需调拨--------------------------…...

[杂项]pugi::xml获取xml中的注释节点

前言 想到学习xml时的一句话&#xff0c;xml中注释也会被算作一个节点。那么我们就可以通过 pugixml 把注释节点获取出来&#xff0c; <?xml version"1.0"?> <mesh name"mesh_root"><!--这是一个注释节点-->some text<![CDATA[so…...

Spring Boot Admin集成与自定义监控告警

目录 一.Spring Boot Admin集成 1.引入依赖 2.添加配置 3.监控界面 二.Spring Boot Admin告警机制 1. 基本告警机制 2. 配置告警 2.1 triggers触发器讲解 3. 自定义通知 3.1 Instance 对象 三.Spring Boot Admin支持的监控属性 1.常见的Spring Boot Admin监控属性 …...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...