首页 > 其他分享 >苍穹外卖day01

苍穹外卖day01

时间:2024-12-19 09:32:16浏览次数:3  
标签:day01 代理 接口 nginx 反向 外卖 服务器 苍穹 前端

bug记录

  • 知识点记录

技术选型

用户层的技术,主要都是前端技术;

整体结构

后端环境搭建

缺少sky-take-out.iml文件,在IEDA的终端输入 mvn idea:module 可生成;

导入黑马提供的项目后,IDEA中jdk环境需改为18,Maven地址需改为自己的地址;

resources文件夹下的application.yml文件需更改数据库的用户名和密码;

IDEA中 ctrl+alt+点击 进入java文件,ctrl+点击 进入接口;

  • 简单的sql用注解方式配置;涉及复杂的、动态的标签使用,会将sql配置到mapper映射文件中,xml形式注入。

  • 前端请求的地址是http://localhost/api/employee/login,后端接口地址是http://localhost:8080/admin/employee/login,前端是如何请求到后端服务的?
    nginx反向代理,就是将前端发送的动态请求由nginx转发到后端服务器。(前端并不是直接请求到后端的tomcat服务器的,而是由nginx做了个转发)
    nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其他点是占有内存少,并发能力强。

  • 为什么不直接请求后端?
    ① 使用nginx反向代理可以提高访问速度,nginx可以做缓存。② 进行负载均衡(所谓负载均衡就是把大量的请求按照我们指定的方式均衡地分配给集群中的每一台服务器。如果前端直接请求后端,只能固定地访问某一台服务器。)③ 保证后端服务安全。(不会暴露后端地址。前端请求到nginx服务器,再由nginx服务器走内网转发给后端服务。)

  • 正向代理和反向代理的区别

    • 代理的对象不同:正向代理代理的是客户端,而反向代理代理的是服务器。
    • 目的不同:正向代理主要是为了保护客户端隐私和访问控制,而反向代理主要是为了保护服务器安全、负载均衡和提高性能。
    • 配置位置不同:正向代理在客户端配置,反向代理在服务器端配置。
    • 匿名性:正向代理通常用于匿名访问互联网,而反向代理不会隐藏服务器的真实身份。
      在实际应用中,正向代理和反向代理可以同时使用,以提供更全面的网络访问控制和安全性。
  • nginx负载均衡的配置方式

    图例128 129是两台后端服务器。
    nginx负载均衡策略默认是 轮询(轮着来);还有其它策略:weight(权重分配);ip_hash(根据ip分配,每一个访客可以固定访问一个后端服务);least_conn(把请求优先分配给连接数少的后端服务);url_hash(相同的url会被分配到同一个后端服务);fair(相应时间短的服务会被优先分配)。

完善登录功能

问题:员工表中的密码是明文存储,安全性太低。
改善:将密码加密后存储,使用MD5加密方式对明文密码加密。(MD5加密,只能由明文计算得到密文,无法从密文解密得到明文。)
步骤:①修改数据库中的明文密码 ②修改Java代码,前端提交的密码进行MD5加密后再跟数据库比对。

导入接口文档

postman、YAPI、apiFox等主要用于API的测试、设计和监控;
swagger可以做到生成接口文档,以及在线接口调试页面,只要用户按照其规范去定义接口及接口相关的信息。
Knife4j是为Java MVN框架集成Swaager生成api文档的增强解决方案。

YAPI/Postman等:是设计阶段使用的工具,管理和维护接口;
Swagger是在开发阶段使用的框架,帮助后端开发人员做后端的接口测试。

  • 使用方式:
    ① 导入knife4j的maven坐标
    ② 在配置类中加入knife4j相关配置
    ③ 需设置静态资源映射,否则接口文档页面无法访问

  • Swaager常用注解

标签:day01,代理,接口,nginx,反向,外卖,服务器,苍穹,前端
From: https://www.cnblogs.com/97gogo/p/18614051

相关文章

  • 基于SpringBoot + Vue的超市外卖系统的设计与实现(精选计算机毕业设计-源码+文档+部署)
    文章目录系统演示录像系统实际运行效果图技术框架SpringBoot-后端开发框架Vue-前端开发框架前后端分离的开发流程可行性分析系统测试系统测试的目的系统功能测试数据库表设计(供参考)1.用户表(t_user)2.角色表(t_role)3.权限表(t_permission)4.用户-角色关联表(t_user_r......
  • ssm毕设校园外卖app程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着移动互联网的飞速发展,外卖行业已经深度融入人们的日常生活,校园也成为外卖行业的重要市场。大学生群体数量庞大且不断增长,他们的生活节奏较快......
  • 【学习总结|DAY018】Java异常、泛型、集合框架
    今天学习了Java集合框架,主要内容包括异常、泛型和集合框架。以下是对学习内容的总结,并辅以代码案例加深理解:一、异常异常是程序在编译或执行过程中可能出现的错误,例如数组索引越界、文件不存在等。Java异常体系分为Error和Exception两类,其中Error代表系统级别错误,而Exception......
  • 基于Springboot+Vue的外卖点餐系统的设计与实现~
    源码获取:https://download.csdn.net/download/u011832806/89426590系统演示视频:链接:https://pan.baidu.com/s/118FKNMNoUnIed_hS34qlLg?pwd=sue5一.系统概述外卖点餐系统的设计主要是为了满足用户的实际需求。因此,它需要通过Internet实现,因此它必须具备硬件和软件基础......
  • 基于SpringBoot的超市外卖管理系统
    引言  随着线上消费的普及,传统超市正积极拥抱数字化转型,以适应消费者对便捷购物和即时配送的需求。基于SpringBoot+Vue+MySQL+MyBatis+前后端分离技术的超市外卖管理系统,为超市提供了全新的服务模式。该系统通过高效的订单管理、商品分类展示、用户注册登录和配......
  • 基于SpringBoot的“外卖点餐系统”的设计与实现(源码+数据库+文档+PPT)
    基于SpringBoot的“外卖点餐系统”的设计与实现(源码+数据库+文档+PPT)开发语言:Java数据库:MySQL技术:SpringBoot工具:IDEA/Ecilpse、Navicat、Maven系统展示系统功能图用户功能界面订单管理界面配送单管理界面商品评价管理界面我的收藏管理界面管......
  • 信息流广告预估技术在美团外卖的实践4
     1信息流广告业务及预估技术现状1.1信息流广告业务特点目前,美团外卖的广告主要包括信息流广告、搜索广告、营销广告、展示广告等等。外卖业务都有着典型的业务特点:用户行为连贯性强:用户用餐意图明确,一般在10分钟内完成,UV成单率较高。展示信息丰富:卡片信息覆盖了评分、评......
  • 苍穹外卖复习Day-02(新增员工)
    文章目录前言一、新增员工1、需求分析和设计1.1、产品原型新增员工原型注:1.2、接口设计1.2.1、常见请求头1.3、表设计(介绍数据类型)1.3.1、数值类型整型浮点型定点数使用1.3.2、字符串类型char(n)和varchar(n)1.3.3、日期和时间类型datetimedatetimetimestampyear2......
  • 微信外卖小程序+ssm
    摘要社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。因此,构建符合自己要求的操作系统是非常有意义的。本文从管理员、用户和商家的功能要求出发,微信外卖小程序......
  • Day01
    Markdown学习标题三级标题四级标题字体Hello,World!Hello,World!Hello,World!Hello,World!Hello,World!Hello,World!引用选择狂神说java,走上人生巅峰分割线图片超链接点击跳转链接列表abcabc表格名称性别生日张三男1997.1......