苍穹外卖开发笔记(1.项目介绍和开发环境)

目录

  • 一、项目介绍
  • 二、环境搭建
    • 1、web管理端前端部署
    • 2、后端环境搭建
    • 3、数据库搭建
    • 4、前后端联调
    • 5、导入接口文档
  • 三、完善登录功能
  • 四、学习知识
    • 1、前端发送的请求,是如何请求到后端服务的?

一、项目介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、环境搭建

在这里插入图片描述
由于本项目主要点在于学习后端开发,所以前端环境,部分页面都是直接导入的方式,不用过分去研究学习。

并且前端后端都有相对应的初始工程,已经存在部分常用的功能和模块,并非从0开始。

1、web管理端前端部署

首先开发管理端(web)的前端部分,主要将前端工程基于nginx运行。
前面商城系统,已经有很多nginx的相关操作就不多描述,直接将资料文件nginx导出。
在这里插入图片描述

启动ngnix,访问本地端口80就表示前端部署完成。
在这里插入图片描述

2、后端环境搭建

后端工程基于maven进行项目构建,并进行分模块开发
在这里插入图片描述

可以大致看一下项目模块说明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、数据库搭建

因为本项目核心同样是后端部分,所以数据库也直接通过初始工程生成。
在这里插入图片描述

大致浏览表结果信息
在这里插入图片描述

4、前后端联调

在这里插入图片描述
把数据库账号密码等修改为自己数据库的信息
在这里插入图片描述
启动后端
在这里插入图片描述
前端点击登录进入管理端页面
在这里插入图片描述

5、导入接口文档

在整个项目开发中,接口的定义十分重要

在这里插入图片描述
大部分开发都是通过接口开发文档,一步一步接口设计出来,这里介绍一个接口管理维护工具Yapi

同样我们需要一个对当前应用进行在线接口调试测试,这里采用swagger

在这里插入图片描述

swagger使用方法:

在这里插入图片描述
在这里插入图片描述

配置完成后,我们直接请求swagger的配置接口文档,可以看到当前contoller下已经写完的接口

在这里插入图片描述

swagger常用注解

在这里插入图片描述

例如:将相关api放到相应位置就可以了

在这里插入图片描述
可以看到接口文档拥有了部分注解提示

在这里插入图片描述

三、完善登录功能

在这里插入图片描述

解决方式:

在这里插入图片描述
修改后端,登录验证,秘密比对部分的代码,将输入的password进行md5加密,在与数据库中已经加密保存的密文相比较
在这里插入图片描述

        //密码比对
        //进行md5加密,然后再进行比对
        password = DigestUtils.md5DigestAsHex(password.getBytes());
        if (!password.equals(employee.getPassword())) {
            //密码错误
            throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);
        }

        if (employee.getStatus() == StatusConstant.DISABLE) {
            //账号被锁定
            throw new AccountLockedException(MessageConstant.ACCOUNT_LOCKED);
        }

四、学习知识

1、前端发送的请求,是如何请求到后端服务的?

前端发送的请求
在这里插入图片描述
实际后端需要的请求
在这里插入图片描述

请求接口和实际后端数据请求接口是完全不同的,但数据是怎样获取到的呢?

在这里插入图片描述

解决这一问题的主要东西,就是前面前端部署的nginx,nginx有个很重要的功能反向代理

在这里插入图片描述
那为什么我们需要通过nginx转发,不直接向后端发送同一个请求呢?
在这里插入图片描述
在这里插入图片描述

现在我们来看一下nginx的具体配置方式:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/534382.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

头歌-机器学习 第13次实验 特征工程——共享单车之租赁需求预估

第1关:数据探索与可视化 任务描述 本关任务:编写python代码,完成一天中不同时间段的平均租赁数量的可视化功能。 相关知识 为了完成本关任务,你需要掌握: 读取数据数据探索与可视化 读取数据 数据保存在./step1/…

如何使用Android手机通过JuiceSSH远程访问本地Linux服务器

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

SSL中的CA证书

目录 一、CA概述 二、数据加密 三、身份认证 一、CA概述 SSL如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到CA证书。 CA是证书的签发机构,它是公钥基础设施(Public Key In…

Python --- Python + Vs code的安装与使用(windows平台)

Python Vs code的安装与使用 今天是我第一次开始尝试用Python,然后我想借此机会记录一下整个安装过程和上手过程。之前一直都是用的matlab,这个东西不仅大而且收费,但不可否认的是。matlab的很多东西都做的比较好,但我一直用的都…

经典文章:卷积神经网络的运作原理

https://brohrer.mcknote.com/zh-Hans/how_machine_learning_works/how_convolutional_neural_networks_work.html 参考资料 https://aitechtogether.com/article/38900.html https://www.ruanyifeng.com/blog/2017/07/neural-network.html http://neuralnetworksanddeeplea…

企业工商信息查询API接口有哪些

当今社会我们几乎每天都在和一些企业打交道,有时候需要确认下这家企业经营范围,注册地址等信息,那怎么办呢,这个时候就需要一些企业工商信息查询的API接口了。 有的时候你可以只知道这家公司的大概企业名称,比如数脉&…

springboot-开源项目-追踪法-简单有效,从F12到SQL数据库表

使用的技术栈:springbootmybatis,edge浏览器 插件:MybatisX 第一步: 按F12,选择网络 第二步: 进入IDEA编辑器,键盘按两次shift键,点击第一个,快速定位到该操作 3: 我…

锐化空间滤波器(提高清晰度的另一种方式)

书上一阶微分的定义可以理解,毕竟这里不死数学上的曲线的概念,而是像素点上的曲线。所以,不同于数学的严格单调递增曲线的导数是大于等于零,这里的严格单调递增曲线,只能是大于零。 至于二阶微分的定义,就…

子线程中创建 handler导致okhttp请求失败,从 ScheduledExecutorService 挖的坑开始

子线程创建方法1: ScheduledExecutorService schedulePool Executors.newScheduledThreadPool(2);schedulePool.schedule(new Runnable() {Overridepublic void run() {dorequest();}}, 2, TimeUnit.SECONDS); 子线程创建方法2: new Thread(new Runnab…

功能测试_验证新浪邮箱登录的正确性

案例:验证验证新浪邮箱登录的正确性 功能测试_等价类设计用例: 步骤: 1:明确需求:邮箱能否登录 2:划分等价类:有效等价类、有效取值、无效等价类、无效取值 3:提取数据编写用例:用例编号、…

带大家做一个,易上手的家常蒜蓉油麦菜

准备油麦菜 将最顶上 一点 和 根都去掉 然后 切成小段 时间足够 就用盐水用心清洗两遍 洗去表面的泥沙和虫卵 准备多一些蒜 切成碎末 起锅烧油 下蒜末 炒出蒜香味 然后 下入油麦菜翻炒 油麦菜会出水 等水烧的差不多 看油麦菜明显缩小后 下入小半勺盐 一点点白砂糖 翻炒均…

ssm041绿色农产品推广应用网站+vue

绿色农产品推广应用网站 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的…

第十四篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python自动化处理图像

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列 博文目录前言一、Python自动化图像处理的优点介绍二、Python常用图像处理库和功能介绍三、强大且易于上手示例代码四、丰富的算法资源示例代码五、批量处理图片示例代码六、支持多种图像格式示例代码七、…

Mysql底层原理六:InnoDB 数据页结构

1.行格式 1.1 Compact行格式 1.1.1 示意图 1.1.2 准备一下 1)建表 mysql> CREATE TABLE record_format_demo (-> c1 VARCHAR(10),-> c2 VARCHAR(10) NOT NULL,-> c3 CHAR(10),-> c4 VARCHAR(10)-> ) CHARSETascii ROW_FORMATCOM…

基于Yolov5的检测系统实战

文章目录 一、数据集 二、网络结构 三、完整文件目录介绍 四、测试分析 一、数据集 1、数据格式:图像数据(JPG格式),采用labelme标注后的图像(XML格式),训练需要的TXT格式 2、数据来源&…

【Python数据分析】让工作自动化起来,无所不能的Python

这里写目录标题 前言一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一编辑推荐内容简介作者简介前言读者对象如何阅读本书目录 前言 随着我国企业数字化和信息化的深入,企业对…

[CSS]布局

盒子就是把网站分割成一小块一小块的吧,然后方便移动或者管理 布局属性 所谓的布局就是依靠css布局让html元素,可以按照UI设计师提供的设计稿进行HTML网页的内容排版并实现页面的布局效果。 布局的学习关键就是:1. 布局方式,2. …

SpringBoot+Vue,轻松实现网页版人脸登录与精准识别

目录 1、技术介绍 2、技术原理 2.1、人脸检测 ①参考模板法 ②人脸规则法 2.2、人脸跟踪 2.3、人脸比对 ①特征向量法 ②面纹模板法 识别过程 案例 一、springboot后端项目 1,拉取项目后,导入相关依赖jar包 2,执行sql文件夹下面…

Qt 中的项目文件解析和命名规范

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、Qt项目文件解析 1、.pro 文件解析 2、widget.h 文件解析 3、main.cpp 文件解析 4、widget.cpp…

yuyv v4l2的数据转换成RGB

使用方法: 3840*2160是.yuv数据的分辨率 data.raw为yuv格式的raw数据 cv:显示 out.png 不显示,存储的文件名 python3 yuv_2_rgb.py data.raw cv 3840 2160或python3 yuv_2_rgb.py data.raw out.png 3840 2160 源码 yuv_2_rgb.py&#xff1…