SpringMVC详解

文章目录
    • 1 什么是MVC
      • 1.1 MVC设计思想
      • 1.2 Spring MVC
    • 2 SpringMVC快速入门
    • 3 SpringMVC处理请求
      • 3.1 请求分类及处理方式
        • 3.1.1 静态请求
        • 3.1.2 动态请求
      • 3.2 处理静态请求
        • 3.2.1 处理html文件请求
        • 3.2.2 处理图片等请求
      • 3.3 处理动态请求
        • 3.3.1 注解说明
        • 3.3.2 示例
      • 3.4 常见问题
    • 4 HTTP
      • 4.1 HTTP协议
      • 4.2 访问网页流程
      • 4.3 请求和响应
        • 4.3.1 HTTP请求 Request
        • 4.3.2 HTTP响应 Response
      • 4.4 URL
        • 4.4.1 定义
        • 4.4.2 URL组成
        • 4.4.3 注意事项
      • 4.5 请求方法
        • 4.5.1 GET请求
        • 4.5.2 POST请求
      • 4.6 传递数据方式
        • 4.6.1 GET请求
        • 4.6.2 POST请求
    • 5 服务端接收参数
      • 5.1 HttpServletRequest接收
      • 5.2 声明参数接收
      • 5.3 声明POJO类接收
    • 6 HttpClient测试
      • 6.1 HttpClient说明
    • 7 POJO
      • 7.1 定义
      • 7.2 entity实体类|DTO|VO

1 什么是MVC

1.1 MVC设计思想

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。

  • M

    Model,模型层,负责业务逻辑判断,数据库存取

  • V

    View,视图层,负责界面展示,向用户呈现数据的方式(html页面、图片、文本等)

  • C

    Controller,控制器,负责接收用户请求,并根据请求调用相应的模型来处理业务逻辑

在这里插入图片描述

1.2 Spring MVC

在这里插入图片描述

SpringMVC是一种基于MVC(模型-视图-控制器)模式的Web框架,它是基于Spring框架的一个子项目。

它通过将请求分派给相应的控制器来处理Web请求,然后将处理结果发送回客户端。

处理流程如图:

在这里插入图片描述

  1. 客户端发送请求至前端控制器DispatcherServlet;
  2. DispatcherServlet收到请求后,调用处理器映射器HandlerMapping;
  3. HandlerMapping根据请求URL找到具体的Controller;
  4. 通过处理器适配器HandlerAdapter找到具体执行该方法的实现类;
  5. Controller处理请求,并返回ModelAndView;
  6. DispatcherServlet通过ViewReslover(视图解析器)确定负责显示数据的具体View;
  7. DispatcherServlet对View进行渲染视图(即将Model填充至视图组件中),并将完整的视图响应到客户端。

2 SpringMVC快速入门

  • 第1步:创建工程 _051MVC-BOOT01

    在这里插入图片描述

  • 第2步:选择 2.7.17 版本,并勾选 Spring Web 依赖项

    在这里插入图片描述

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
  • 第3步:启动工程

  • 第4步:在resources/static目录下创建index.html

    <h1>工程首页
    </h1>
    
  • 第5步:Rebuild static

    在这里插入图片描述

3 SpringMVC处理请求

3.1 请求分类及处理方式
3.1.1 静态请求
  • 定义

    指请求的页面由服务器上预先准备好的静态web资源组成,如HTML、CSS、JS、IMG等,返回给客户端的信息内容是不变的。

  • 处理方式

    由服务器直接将请求的资源返回给客户端,服务器不处理任何逻辑,只是将预先准备好的资源返回给客户端。

    在这里插入图片描述

3.1.2 动态请求
  • 定义

    服务器会根据用户的请求动态生成内容,将数据返回到客户端显示页面内容。

  • 处理方式

    由服务器从数据库中获取数据,并进行相应的逻辑处理后将处理结果返回客户端。

    在这里插入图片描述

3.2 处理静态请求
3.2.1 处理html文件请求
  • 第1步:创建index.html(已经创建)浏览器输入地址测试

    http://localhost:8080/index.html

  • 第2步:浏览器显示工程首页

在这里插入图片描述

3.2.2 处理图片等请求
  • 第1步:复制任意一张图片到static下

  • 第2步:右键static目录,Rebuild static

  • 第3步:浏览器测试

    http://localhost:8080/liying.jpg

3.3 处理动态请求

通过在 controller 中定义对应的类及方法实现动态请求的业务逻辑处理。

3.3.1 注解说明
  • @Controller

    添加在类上;

    表示该类是一个控制器,负责处理用户的请求,并将处理结果生成响应返回给客户端。

  • @RequestMapping

    请求注解;

    添加在控制器类或控制器方法上;

    将HTTP请求映射到控制器中的方法,指定处理请求的路径

    • 控制器类上:为整个控制器指定一个基础路径
    • 控制器方法上:指定相对于基础路径的具体路径
  • @ResponseBody

    响应注解;

    添加在控制器方法上;

    可以使控制器方法通过返回值的方式将响应返回给客户端。

3.3.2 示例

处理用户查询订单的请求

  • 请求地址:http://localhost:8080/selectOrder
  • 返回响应:String “查询订单成功~~”

实现

  • 第1步: 工程目录下新建 controller.OrderController

    // @Controller:用于将一个类标识为SpringMVC中的控制器,负责处理用户的请求并将响应返回给客户端
    @Controller
    public class OrderController {// 1.请求注解@RequestMapping("/selectOrder")// 2.响应体注解,添加此注解后,可以通过返回值的方式响应给客户端数据@ResponseBodypublic String selectOrder(){return "查询订单成功~~";}
    }
    
  • 第2步:重启工程 后浏览器测试

    http://localhost:8080/selectOrder

3.4 常见问题
  • 工程已修改,但是浏览器刷新未出现效果
    • 工程static目录下文件修改后必须 Rebuild static
    • 浏览器有之前页面的缓存,Shift + F5 刷新页面
  • 404错误码代表找不到资源
    • 找不到静态资源

      • 检查请求的路径是否正确
      • 检查静态资源文件的存储位置是否在static里面
      • 选中static文件夹 ReBuild 重新编译再测试
    • 找不到动态资源

      • 检查请求的路径是否正确
      • 检查@Controller注解是否添加
      • 检查@RequestMapping注解里面的处理路径是否正确

4 HTTP

4.1 HTTP协议

超文本传输协议

HTTP协议是浏览器与服务器通讯的应用层协议,规定了浏览器与服务器之间的交互规则以及交互数据的格式信息等。

  • 用途 : 网页获取,数据的传输
  • 特点
    • 应用层协议,使用tcp进行数据传输;
    • 有丰富的请求类型;
    • 可以传输的数据类型众多.
4.2 访问网页流程
  1. 客户端(浏览器)通过tcp传输,发送http请求给服务端;
  2. 服务端接收到http请求后进行解析;
  3. 服务端处理请求内容,组织响应内容;
  4. 服务端将响应内容以http响应格式发送给浏览器;
  5. 浏览器接收到响应内容,解析展示.
4.3 请求和响应
4.3.1 HTTP请求 Request

浏览器给服务端发送的内容称为请求Request,一个请求包含三部分:请求行,请求头,请求体

  • 请求行 : 具体的请求类别和请求内容

    GET         /        HTTP/1.1
    请求类别   抽象路径     协议版本/**关于请求类别*/
    请求类别:每个请求类别表示向服务器端发请求做不同的操作GET : 获取服务器资源POST :新增服务器资源PUT : 更新服务器资源DELETE : 删除服务器资源/**关于抽象路径*/
    请求URL地址为:http://localhost:8080/
    请求行为:    GET / HTTP/1.1请求URL地址为:http://localhost:8080/v1/users/login
    请求行为:    GET /v1/users/login HTTP/1.1请求URL地址为:http://localhost:8080/v1/users/regGET /v1/users/reg HTTP/1.1
    
  • 请求头:对请求的进一步解释和描述

    请求头是浏览器可以给服务端发送的一些附加信息,有的用来说明浏览器自身内容,有的用来告知服务端交互细节,有的告知服务端消息正文详情等。

    Host: localhost:8080
    Connection: keep-alive
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9
    
  • 请求体: 请求参数或者提交内容

    请求体通常是用户上传的信息,比如:在页面输入的注册信息,上传的附件等内容。

    在这里插入图片描述

4.3.2 HTTP响应 Response

服务端给浏览器发送的内容称为响应Response,一个响应包含三部分:响应行,响应头,响应体。

  • 响应行

    HTTP/1.1     200       OK
    版本信息    响应码   附加信息
    响应码 : 1xx:保留2xx:成功,表示处理成功,并正常响应3xx:重定向,表示处理成功,但是需要浏览器进一步请求4xx:客户端错误,表示客户端请求错误导致服务端无法处理5xx:服务端错误,表示服务端处理请求过程出现了错误
    
  • 响应头

    响应头与请求中的消息头格式一致,表示的是服务端发送给客户端的附加信息。

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 3546//Content-Length是用来告知浏览器响应正文的长度,单位是字节。
    

    Content-Type 是用来告知浏览器响应正文中的内容是什么类型的数据(图片,页面等等)不同的类型对应的值是不同,浏览器接收正文前会根据上述两个响应头来得知长度和类型从而读取出来做对应的处理以渲染给用户看。

    文件类型

    Content-Type对应的值

    html

    text/html

    css

    text/css

    js

    application/javascript

    png

    image/png

    gif

    image/gif

    jpg

    image/jpeg

  • 响应体

    响应的主体内容信息

    在这里插入图片描述

4.4 URL
4.4.1 定义

URL(Uniform Resource Locator)是互联网上 统一资源定位符 的简称,用于标识和定位互联网上资源的地址。在Web浏览器中,URL是用于访问网页的地址。

4.4.2 URL组成

http://localhost:8080/v1/users/loginusername=xxx&password=yyy

  • 协议(Protocol):指定访问资源的协议类型,常见的协议包括HTTP、HTTPS等。

  • 主机名(Hostname):指定要访问的服务器的主机名或域名。

  • 端口号(Port):指定服务器的端口号,不同的协议和应用程序使用不同的端口号。

  • 路径(Path):指定要访问的资源的路径,即文件或文件夹的路径。

  • 查询参数(Query Parameters):用于传递一些额外的信息给服务器,例如参数化的查询条件。

    查询参数和路径Path之间使用 ?分隔,多个查询参数之间使用 & 分隔。

在这里插入图片描述

4.4.3 注意事项
  • URL地址是区分大小写的,因此在输入时要注意大小写的一致性。

  • URL地址中不能包含非法字符,例如空格、特殊符号等。如果需要传递参数或附加信息,可以使用查询参数或POST请求等方式。

4.5 请求方法
4.5.1 GET请求

GET请求是HTTP协议中最常见的请求方式之一,它用于从服务器获取数据

GET请求将查询参数附加在URL之后,通过“”符号进行分隔。

  • 查询参数

    GET请求的参数通常以键值对的形式附加在URL之后。例如,以下URL中,“name=John&age=25”是两个查询参数,分别表示名字和年龄

    http://example.com/users?name=John&age=25
    
  • 注意事项

    • GET请求的参数是可见的,因此在URL中传递敏感信息时需谨慎。
    • GET请求的长度有限制,因为URL的长度有限制,因此当传递大量数据时,应考虑使用POST或其他方式。
  • 发送GET请求

    在浏览器中输入URL地址确认即可向服务端发送GET请求。

    http://localhost:8080/v1/users/login?username=xxx&password=xxx

4.5.2 POST请求

POST请求是另一种常见的HTTP请求方式,它用于向服务器提交数据。与GET请求不同,POST请求将数据放在请求体(Request Body)中,而不是URL中。

  • 请求体

POST请求的请求体中包含要提交的数据。这些数据可以是JSON、XML或其他格式。请求体中的数据通过Content-Type头部指定。

  • 请求示例

    POST /users HTTP/1.1  
    Host: example.com  
    Content-Type: application/json  
    Request Body: {"username": "john", "password": "secret"}
    
  • 使用POST请求的注意事项

    • POST请求的数据是私密的,不会显示在URL中,因此更适合传递敏感信息。

    • POST请求的长度没有限制,可以提交大量的数据。

  • 发送POST请求

    经常在 form 表单中发送。

    <form action="请求地址" method="post"><input type="text" name="username"><input type="text" name="password"><input type="submit" name="登录">
    </form>
    
4.6 传递数据方式

客户端向服务端传递数据的方式分为GET请求和POST请求两种方式。

4.6.1 GET请求

在查询参数中传递,比如:

http://localhost:8080/v1/users/login?username=xxx&password=xxx
4.6.2 POST请求

在请求体中传递,比如:

<form action="请求地址" method="post"><input type="text" name="username"><input type="text" name="password"><input type="submit" name="登录">
</form>

5 服务端接收参数

5.1 HttpServletRequest接收
  • HttpServletRequest是Java Servlet规范中定义的一个接口,它提供了与HTTP请求相关的方法和属性。

  • 在Java Web应用程序中,当客户端发送HTTP请求时,容器(例如Tomcat)会创建一个HttpServletRequest对象,该对象包含了客户端请求的所有信息,如请求的URL、请求方法、请求头、请求参数等。

  • 在请求处理过程中,开发人员可以使用HttpServletRequest对象来获取客户端发送过来的请求参数。通过调用HttpServletRequest的方法,可以获取请求的参数名称、参数值以及参数的数量等信息。

以上述案例为准,客户端把用户名和密码信息传递给服务端,服务端接收传递过来的用户名和密码信息。

  • 第1步:controller.UserController 处理请求

    /**方式1:使用HttpServletRequest接收数据*/
    @RequestMapping("/v1/users/login")
    @ResponseBody
    public String login(HttpServletRequest request){String username = request.getParameter("username");String password = request.getParameter("password");return username + ":" + password;
    }
    
  • 第2步:重启工程测试

5.2 声明参数接收

可以在处理请求的方法中通过 声明参数的方式 来接收客户端传递过来的数据。

应用分析

  • 第1步:controller.UserController处理登录请求

    /**方式2:通过声明参数的方式接收*/
    @RequestMapping("/v1/users/login")
    @ResponseBody
    // 好处:代码简洁,并且可以自动根据声明的类型进行转换
    public String login(String username, String password){return "username = " + username + ", password = " + password;
    }
    
  • 第2步:重启工程,执行测试脚本测试

5.3 声明POJO类接收

如果客户端传递数据过多,通过 HttpServletRequest 方式接收复用性较差,通过 声明参数接收 又很繁琐;所以可以将数据封装到 POJO类 中来接收。

操作步骤

  • 第1步:controller.UserController处理登录请求

    /**方式3:通过声明Pojo类接收*/
    @RequestMapping("/v1/users/login")
    @ResponseBody
    public String login(User user){return user.toString();
    }
    
  • 第2步:自定义pojo类,工程目录下创建entity.User

    public class User {// 客户端传递几个参数,此处就有几个属性private String username;private String password;// 省略 setter()  getter()  和 toString() 方法
    }
    
  • 第3步:重启工程后测试

6 HttpClient测试

6.1 HttpClient说明

使用SpringMVC中提供的 .http 后缀的文件来测试 Controller 层接口。

使用三个 # 号 作为不同测试方法的分隔符,也可以作为注释说明。

应用分析

  • 第1步:在test目录下创建 Directory :http

  • 第2步:创建 .http 后缀的文件进行测试:testUserController.http

    ### GET请求测试
    GET http://localhost:8080/v1/users/login?username=liying&password=123456
    Accept: application/json### POST请求测试
    POST http://localhost:8080/v1/users/login
    Content-Type: application/x-www-form-urlencodedusername=liying&password=123456
    
  • 第3步:执行对应的请求方法测试

    在这里插入图片描述

7 POJO

7.1 定义

Plain Ordinary Java Object:简单的Java对象;

是没有继承任何类或实现任何接口的简单 Java 对象,也不依赖于其他复杂的框架或技术;

POJO 对象通常包含了纯粹的数据和简单的业务逻辑,是一种用于简化 Java 应用程序开发的编程模型;

是entity实体类、VO(Value Object或View Object)视图对象、DTO(Data Transfer Object)数据传输对象 这3个对象的总称。

7.2 entity实体类|DTO|VO
  • entity实体类作用

    用来和数据库中的表字段一一对应的,比如UserEntity(id,username,password,nickname);

  • DTO作用

    用来接收客户端传递给服务器的数据的,比如:UserLoginDTO(username,password) 实现登录功能,客户端向服务器端传递数据;

  • VO作用

    用来处理服务器响应给客户端的数据的,比如:UserListVO(id,username,nickname) 登录成功后的列表页显示当前用户信息。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【用deepseek和chatgpt做算法竞赛】——还得DeepSeek来 -Minimum Cost Trees_5

往期 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_0&#xff1a;介绍了题目和背景【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_1&#xff1a;题目输入的格式说明&#xff0c;选择了邻接表…

面试题汇总

1. 判断大小端问题 大端&#xff1a;低字节存放在高地址&#xff1b; 小端&#xff1a;低字节存放在低地址 如 : 0x12345678 bool is_little_endian() {unsigned int x 1;return ((char*)&x)[0]; }bool is_big_endian() {unsigned int x 1;return !((char*)&x)[0];…

jsherp importItemExcel接口存在SQL注入

一、漏洞简介 很多人说管伊佳ERP&#xff08;原名&#xff1a;华夏ERP&#xff0c;英文名&#xff1a;jshERP&#xff09;是目前人气领先的国产ERP系统虽然目前只有进销存财务生产的功能&#xff0c;但后面将会推出ERP的全部功能&#xff0c;有兴趣请帮点一下 二、漏洞影响 …

体验用ai做了个python小游戏

体验用ai做了个python小游戏 写在前面使用的工具2.增加功能1.要求增加视频作为背景。2.我让增加了一个欢迎页面。3.我发现中文显示有问题。4.我提出了背景修改意见&#xff0c;欢迎页面和结束页面背景是视频&#xff0c;游戏页面背景是静态图片。5.提出增加更多游戏元素。 总结…

动态存储斐波那契数列(递归优化)

递归 递归是c当中一种自身调用自身的算法。 普通递归解决斐波那契数列问题 #include<iostream> using namespace std; int f(int n){int sum;if(n<2){sum1;}else{sumf(n-1)f(n-2);}return sum; } int main() {int n;cin>>n;cout<<f(n);return 0;}当数据…

php文件上传

文章目录 文件上传机制文件上传脚本文件上传绕过php后缀替换为空web服务器的解析漏洞绕过nginxiisapache 高级文件上传nginx自定义配置文件&#xff08;默认三分钟刷新一次&#xff09;服务端内容检测结合伪协议使用配合日志包含只允许图片上传 上传实战训练 文件上传机制 文件…

播放器系列1——总概述

播放器核心架构 模块解释 文件读取 读取视频文件、读取网络文件、读取音频文件&#xff0c;大概分为这三种&#xff0c;目前代码中仅实现了读取视频文件播放&#xff0c;也就是当没有video数据的时候播放器不可使用。 解复用 容器指的是多媒体文件中的封装格式&#xff0c;…

【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较

常见中间件api操作及性能比较 ☝️ MySQL crud操作✌️ maven依赖✌️ 配置✌️ 定义实体类✌️ 常用api ☝️ Redis crud操作✌️ maven依赖✌️ 配置✌️ 常用api ☝️ MongoDB crud操作✌️ maven依赖✌️ 配置文件✌️ 定义实体类✌️ MongoDB常用api ☝️ ES crud操作 ⭐️…

【进程与线程】Linux 线程、同步以及互斥

每个用户进程有自己的地址空间。 线程是操作系统与多线程编程的基础知识。 系统为每个用户进程创建一个 task_struct 来描述该进程&#xff1a;该结构体中包含了一个指针指向该进程的虚拟地址空间映射表&#xff1a; 实际上 task_struct 和地址空间映射表一起用来表示一个进程…

实现动态翻转时钟效果的 HTML、CSS 和 JavaScript,附源码

实现动态翻转时钟效果的 HTML、CSS 和 JavaScript 在现代网页设计中&#xff0c;动画效果可以极大地增强用户体验。本文将介绍如何利用 HTML、CSS 和 JavaScript 创建一个动态翻转时钟的效果&#xff0c;模拟经典机械翻页时钟的视觉效果。我们将通过详细的步骤讲解如何实现时钟…

Spring Boot与MyBatis

Spring Boot与MyBatis的配置 一、简介 Spring Boot是一个用于创建独立的、基于Spring的生产级应用程序的框架&#xff0c;它简化了Spring应用的初始搭建以及开发过程。MyBatis是一款优秀的持久层框架&#xff0c;它支持定制化SQL、存储过程以及高级映射。将Spring Boot和MyBa…

1.16作业

1 进注册界面&#xff0c;第一次以为抓包选把isadmin ture了就好 第二次尝试&#xff0c;勾选is admin&#xff0c;有需要invitecode&#xff08;经典&#xff09; 2 p r**5 r**4 - r**3 r**2 - r 2023 q r**5 - r**4 r**3 - r**2 r 2023 n 25066797992811602609904…

LeetCode 2209.用地毯覆盖后的最少白色砖块:记忆化搜索之——深度优先搜索(DFS)

【LetMeFly】2209.用地毯覆盖后的最少白色砖块&#xff1a;记忆化搜索之——深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-white-tiles-after-covering-with-carpets/ 给你一个下标从 0 开始的 二进制 字符串 floor &#xff0c;它表示地…

「正版软件」PDF Reader - 专业 PDF 编辑阅读工具软件

PDF Reader 轻松查看、编辑、批注、转换、数字签名和管理 PDF 文件&#xff0c;以提高工作效率并充分利用 PDF 文档。 像专业人士一样编辑 PDF 编辑 PDF 文本 轻松添加、删除或修改 PDF 文档中的原始文本以更正错误。自定义文本属性&#xff0c;如颜色、字体大小、样式和粗细。…

【报错解决】vue打开界面报错Uncaught SecurityError: Failed to construct ‘WebSocket‘

问题描述&#xff1a; vue运行时正常&#xff0c;但是打开页面后报错 Uncaught SecurityError: Failed to construct WebSocket: An insecure WebSocket connection may not be initiated from a page loaded over HTTPS. 解决方案&#xff1a; 在项目列表中的public下的ind…

骶骨神经

骶骨肿瘤手术后遗症是什么_39健康网_癌症 [健康之路]匠心仁术&#xff08;七&#xff09; 勇闯禁区 骶骨肿瘤切除术

wps中的js开发

严格区分大小写 /*** learn_js Macro*/ function test() {Range(D7).Value2Selection.Value2; // Selection.formula "100" }function Workbook_SheetSelectionChange(Sh, Target) {if(Sh.Name Sheet1) {test();}}function test2() {// 把I4单元格及其周边有数的单…

书生大模型实战营12-InternVL 多模态模型部署微调

文章目录 L2——进阶岛InternVL 部署微调实践0.开发机创建与使用1.环境配置1.1.训练环境配置1.2.推理环境配置 2.LMDeploy部署2.1.LMDeploy基本用法介绍2.2.网页应用部署体验2.3 出错解决2.3.1 问题12.3.2 问题2 3.XTuner微调实践3.1.准备基本配置文件3.2.配置文件参数解读3.3.…

深度学习之图像回归(二)

前言 这篇文章主要是在图像回归&#xff08;一&#xff09;的基础上对该项目进行的优化。&#xff08;一&#xff09;主要是帮助迅速入门 理清一个深度学习项目的逻辑 这篇文章则主要注重在此基础上对于数据预处理和模型训练进行优化前者会通过涉及PCA主成分分析 特征选择 后…

安科瑞能源物联网平台助力企业实现绿色低碳转型

安科瑞顾强 随着全球能源结构的转型和“双碳”目标的推进&#xff0c;能源管理正朝着智能化、数字化的方向快速发展。安科瑞电气股份有限公司推出的微电网智慧能源管理平台&#xff08;EMS 3.0&#xff09;&#xff0c;正是这一趋势下的创新解决方案。该平台集成了物联网&…