16.SpringBoot前后端分离项目之简要配置一
SpringBoot前后端分离项目之简要配置一
前面对后端所需操作及前端页面进行了了解及操作,这一节开始前后端分离之简要配置
为什么要前后端分离
为了更低成本、更高效率的开发模式。
前端有一个独立的服务器。
后端有一个独立的服务器。
两个服务器之间实时数据交换:
HttpClient:

前端服务器通过浏览器 向后端服务器发送请求:
Ajax---json数据----》请求发给后端服务器
后端服务器--JSON数据---转为Java处理---转回json----》响应----Ajax
如何配置前后端服务器
端口问题
前端UNIAPP对应的服务器
后端SpringBoot对应的Tomcat服务器端口有时会冲突,导致后端服务器启动失败。

解决方案1:改后端服务器的启动端口号(不建议)
直接将8080端口号修改为8081

解决方案2:先启动后端Java服务器(8080),再启动前端服务器(自动分配8081)【建议】
跨域问题处理
后端:8080
前端:8081
需要让控制器可以完成跨域操作:
添加
@CrossOrigin

如何配置前端请求和后端响应(1)
禁用浏览器缓存
在前端页面按F12键—>点击Network—>点击Disable cache

注册接口
前端:
找到request,js


后端:
JavaBean接收数据

在UserUI中输入
import lombok.Data;
@Data
public class UserUI {//因为前端没有传递id,所以id前端接收中,获取不到任何数据private String id;private String userName;private String passWord;private String repeat;
}
JavaBean 封装返回数据
在RestObject中输入
import lombok.Data;
@Data
public class RestObject {private Integer code; //前端的状态码 0:业务失败 1:业务成功private String msg; //前端需要展示的信息private Object data; //前端需要的复杂数据
}
控制器,处理前端发来的请求
@RestController
@RequestMapping("/my3")
@CrossOrigin
public class MyController3 {@RequestMapping("/register")public @ResponseBody RestObject register(@RequestBody UserUI userUI){System.out.println(userUI);RestObject restObject = new RestObject();//注册成功restObject.setCode(1);restObject.setMsg("注册成功");//注册失败的业务:/*restObject.setCode(0);restObject.setMsg("注册失败");*/return restObject;}
}
首页推荐接口
前端:
在api.js中

后端:
控制器:
@RequestMapping("/homeSell")
public @ResponseBody RestObject homeSell(){System.out.println("homeSell");RestObject restObject = new RestObject();//展示成功的业务:restObject.setCode(1);restObject.setMsg("业务成功,呵呵呵");ArrayList<Map<String, String>> mapsList = new ArrayList<>();//数据1HashMap<String, String> mapData1 = new HashMap<>();mapData1.put("id","001");mapData1.put("name","XX股票1");mapData1.put("src","http://localhost:8080/img/005.jpg");mapData1.put("industry","黄金");mapsList.add(mapData1);//数据2HashMap<String, String> mapData2 = new HashMap<>();mapData2.put("id","002");mapData2.put("name","XX股票2");mapData2.put("src","http://localhost:8080/img/007.jpg");mapData2.put("industry","金融");mapsList.add(mapData2);//数据3HashMap<String, String> mapData3 = new HashMap<>();mapData3.put("id","003");mapData3.put("name","XX股票3");mapData3.put("src","http://localhost:8080/img/008.jpg");mapData3.put("industry","白酒");mapsList.add(mapData3);restObject.setData(mapsList);//展示失败的业务:/*restObject.setCode(0);restObject.setMsg("业务失败");*/return restObject;
}相关文章:
16.SpringBoot前后端分离项目之简要配置一
SpringBoot前后端分离项目之简要配置一 前面对后端所需操作及前端页面进行了了解及操作,这一节开始前后端分离之简要配置 为什么要前后端分离 为了更低成本、更高效率的开发模式。 前端有一个独立的服务器。 后端有一个独立的服务器。两个服务器之间实时数据交换…...
Probability Calibration概率校准大比拼:性能、应用场景和可视化对比总结
在机器学习中,概率校准(Probability Calibration)是一个重要的概念。简单来说,概率校准就是将分类器输出的原始预测概率转换为更准确、更可靠的概率值。这样做的目的是为了让模型的预测结果更接近实际情况,从而提高模型在特定应用场景中的可用性。 在Python的Scikit-Lear…...
PHP 球鞋在线商城系统mysql数据库web结构apache计算机软件工程网页wamp计算机毕业设计
一、源码特点 PHP球鞋在线商城系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php球鞋在线商城系统 代码 https://download.csdn.net/download/qq_41221322/8843725…...
使用Apache和内网穿透实现私有服务公网远程访问——“cpolar内网穿透”
文章目录 前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web ui管理界面3.2 创建公网地址 4. 固定公网地址 前言 Apache作为全球使用较高的Web服务器…...
PreparedStatement
使用参数化查询:使用预编译的语句和参数化查询来执行SQL语句,而不是将用户输入直接嵌入到SQL语句中。这将帮助防止恶意输入注入SQL语句。...
CSS3 新增属性-边框圆角-文字阴影-盒子阴影
边框圆角 CSS 边框圆角可以通过 border-radius 属性来实现。该属性用于设置元素的圆角大小,支持四个值分别表示上左、上右、下右和下左四个角的圆角半径大小,也可以使用两个值分别表示上下和左右两个方向的圆角大小,甚至可以只使用一个值来…...
制作.a静态库 (封盒)
//云库房间 1.GitHub上创建开源框架项目须包含文件: LICENSE:开源许可证;README.md:仓库说明文件;开源项目;(登录GitHub官网) 2. 云仓储库构建成功(此时云库中没有内容三方框架)!!! 3. 4.5. //…...
一台服务器,一个新世界
我如何看待服务器 当我拥有一台服务器,我看到的不仅仅是一块硬件,而是一扇打开未来的大门,一个我可以将自己的愿景和创意投射到其中的平台。这台服务器是我的工具,我的画布,我将在其中铸造我的数字梦想。 第一步我要…...
keep-alive 是 Vue 的一个内置组件,用于缓存其他组件的实例,以避免重复渲染和销毁,它可以在需要频繁切换的组件之间提供性能优化
目录 keep-alive 使用 keep-alive 的示例代码: 手动清除组件缓存的示例代码: keep-alive 组件有以下几个优点: keep-alive 的原理: 使用 keep-alive 组件,你可以包裹需要缓存的组件,然后这些组件在切…...
(八)Python类和对象
Python 语言在设计之初,就定位为一门面向对象的编程语言,“Python 中一切皆对象”就是对 Python 这门编程语言的完美诠释。 类和对象是 Python 的重要特征,相比其它面向对象语言,Python 很容易就可以创建出一个类和对象。同时&am…...
黑客利用人工智能窃取医疗数据的 7 种方式
人工智能被描述为医疗保健行业的一把双刃剑。基于人工智能的系统可以分析大量数据并在早期和可治疗的阶段检测疾病,它们可以比任何人类更快地诊断症状,并且人工智能正在帮助药物开发,使新的救命药物得以识别并将其推向市场速度更快且成本显着…...
OJ第四篇
文章目录 链表分割环形链表有效的括号 链表分割 链接: 链表分割 虽然这个题牛客网中只有C,但是无所谓,我们只要知道C是兼容C的就可以了 至于说这个题的思路,我们就弄两个链表,把小于x的结点放到一个链表中,剩下的放到另一个链表…...
L2-022 重排链表
给定一个单链表 L1→L2→⋯→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。 输入格式: 每个输入包含1个测试用例。每个测试用例…...
css 特别样式记录
一、 这段代码神奇的地方在于, 本来容器的宽度只有1200px,如果不给img赋予宽度100%,那么图片 会超出盒子,如果给了img赋予了宽度100%,多个图片会根据自己图片大小的比例,去分完那1200px,如图二。…...
多数元素[简单]
优质博文:IT-BLOG-CN 一、题目 给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于n/2的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3…...
34 个高质量免费教育资源
🧑🎓 综合型在线学习网站:21个 🛜 专业类在线教育网站:13个 ⬇️⬇️⬇️ 0 examtopics www.examtopics.cn 专业的AWS等IT认证考试题库 一、综合型在线学习网站 1、Coursera coursera.org 美国斯坦福大学两名计算机…...
基础课5——语音合成技术
TTS是语音合成技术的简称,也称为文语转换或语音到文本。它是指将文本转换为语音信号,并通过语音合成器生成可听的语音。TTS技术可以用于多种应用,例如智能语音助手、语音邮件、语音新闻、有声读物等。 TTS技术通常包括以下步骤: …...
安全事件报告和处置制度
1、总则 1.1、目的 为了严密规范XXXXX单位信息系统的安全事件处理程序,确保各业务系统的正常运行和系统及网络的安全事件得到及时响应、处理和跟进,保障网络和系统持续安全运行,确保XXXXX单位重要计算机信息系统的实体安全、运行安全和数据…...
java干掉 if-else
前言 传统做法-if-else分支 策略模式Map字典 责任链模式 策略模式注解 物流行业中,通常会涉及到EDI报文(XML格式文件)传输和回执接收,每发送一份EDI报文,后续都会收到与之关联的回执(标识该数据在第三方系统中的流转状态ÿ…...
29 Python的pandas模块
概述 在上一节,我们介绍了Python的numpy模块,包括:多维数组、数组索引、数组操作、数学函数、线性代数、随机数生成等内容。在这一节,我们将介绍Python的pandas模块。pandas模块是Python编程语言中用于数据处理和分析的强大模块&a…...
嵌入式数据存储终极指南:5分钟快速上手FlashDB超轻量级数据库
嵌入式数据存储终极指南:5分钟快速上手FlashDB超轻量级数据库 【免费下载链接】FlashDB An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库 项目地址: https://gitcode.com/gh_mirrors/…...
CANN/asc-devkit DropOut高阶API
DropOut 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca…...
Dream框架核心概念解析:Handler、Middleware与Router的完美协作
Dream框架核心概念解析:Handler、Middleware与Router的完美协作 【免费下载链接】dream Tidy, feature-complete Web framework 项目地址: https://gitcode.com/gh_mirrors/dre/dream Dream作为一款功能完备的Web框架,其核心架构围绕Handler、Mid…...
保姆级教程:用阿莫K202C-1烧录器搞定国产MCU(GD32/N32/APM32等)
国产MCU高效烧录实战:K202C-1脱机烧录器深度应用指南 1. 国产MCU崛起背景与烧录需求 近年来,国产MCU厂商如GD32、N32、APM32等品牌迅速崛起,凭借性价比优势在工业控制、消费电子等领域逐步替代进口芯片。根据行业调研数据,2023年国…...
如何用Vibe coding一周做三个成果?(附完整prompt) 【新手友好】
最近AI圈刮起了一阵"Vibe coding"旋风,很多朋友私信问我:到底什么是Vibe coding?零基础真的能学会吗?一周真的能做出好几个可以用的成果吗?作为亲身体验了一把的人,我可以明确告诉大家࿱…...
如何免费定制你的Windows系统:5个简单步骤掌握Windhawk开源工具
如何免费定制你的Windows系统:5个简单步骤掌握Windhawk开源工具 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk 你是否觉得Windows系统缺少了…...
LeetCode 数据流中第K大元素题解
LeetCode 数据流中第K大元素题解 题目描述 设计一个数据流,找到数据流中第 k 大的元素。 示例: 输入:k 3, arr [4,6,5]输出:5 解题思路 方法:堆 思路: 使用最小堆维护前 k 大的元素。遍历数据流ÿ…...
【Midjourney放松模式深度解密】:20年AI图像生成专家亲测的4大核心差异与3种误用陷阱
更多请点击: https://kaifayun.com 第一章:Midjourney放松模式的本质定义与演进脉络 放松模式(Relaxed Mode)是Midjourney V6引入的一项关键资源调度机制,其本质并非降低图像生成质量,而是通过动态协调GPU…...
租房避坑|在成都,我从“凑合住”到“安心住”经历了什么
姐妹们,千万别被“凤凰大街包租”几个字骗了!我的真实租房血泪史是不是最近总刷到那种“凤凰大街包租”“拎包入住”的宣传?说实话,刚来成都那会儿,我也被这些词儿晃花了眼。想着省心省力,结果踩的坑一个接…...
【源码篇】地牢里的钟摆,解析引擎与运算核心的 C++ 映射
概要:光有律令是不够的,我们需要看到法则在地牢里真正流动的样子。响应大家的呼声,本篇将正式公开我为这台 4-bit 处理器设计的运算核心(ALU)与指令解析引擎(Decoder)的部分源码。看 C11 如何精…...
