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

24.12.26 SpringMVCDay01

SpringMVC

也被称为SpringWeb

Spring提供的Web框架,是在Servlet基础上,构建的框架

SpringMVC看成是一个特殊的Servlet,由Spring来编写的Servlet

搭建

  • 引入依赖
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version></dependency>
  • web.xlm
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--配置Servlet--><servlet><servlet-name>mvcServlet</servlet-name><!--SpringMVC的核心类,请求的入口--><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--读取的配置文件路径--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:mvc1.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>mvcServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--乱码--></web-app>
  • mvc配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--BeanNameUrlHandlerMapping   bean对象的名字  url  和 Controller的映射关系--><!--/hello--><!--处理器,映射器--><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/><!--适配器--><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/><!--视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--跳转的jsp页面,统一添加前缀--><property name="prefix" value="/WEB-INF/"/><!--后缀--><property name="suffix" value=".jsp"/></bean><!--自定义的Controller,需要通过什么路径才能访问到--><bean name="/hello" class="com.javasm.demo.HelloController"/>
</beans>
  • 测试Controller
public class HelloController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {//ModelAndView  视图 和页面 页面的数据,配置的是跳转到哪个页面,向这个页面传递什么参数ModelAndView mv = new ModelAndView();//跳转的页面  任何情况下,/都表示根路径///WEB-INF/  是受保护的文件夹,默认在webapp路径下的文件,都可以直接访问,受保护的文件夹,内部文件,不能直接访问//mv.setViewName("/WEB-INF/demo/hello.jsp");mv.setViewName("demo/hello");//携带数据mv.addObject("abc","Hello Web MVC");return mv;}
}

流程

启动流程

启动Tomcat → 加载web.xml文件 → 读取servlet标签的配置 → DispatcherServlet 初始化 → 读取mvc.xml配置文件 → 解析配置文件 → 在Spring容器中实例化Controller → 其他的配置类实例化

访问流程

浏览器发起请求 → Tomcat中 → servlet-mapping 配置了/,所有的请求,都进入DispatcherServlet中 → 能获取到访问路径/hello → 寻找执行的方法 → 找到HelloController,执行方法 → 返回ModelAndView → Model的值放到request作用域,view的值,决定跳转到哪个页面

DispacherServlet内部流程

实际运用的案例

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--    开启包扫描--><context:component-scan base-package="com.javasm"/><!--代替适配器等配置--><mvc:annotation-driven/><!--视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--跳转的jsp页面,统一添加前缀--><property name="prefix" value="/WEB-INF/"/><!--后缀--><property name="suffix" value=".jsp"/></bean></beans>
//地址 和 类的映射,通过/demo访问到当前类
@Controller
@RequestMapping("/demo")
public class DemoController {//当前方法的访问路径   /demo/f1@RequestMapping("/f1")public ModelAndView f1(){ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("abc","f1方法");modelAndView.setViewName("demo/hello");return modelAndView;}@RequestMapping("/f2")public ModelAndView f2(){ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("abc","f2方法");//报404,没有这个页面modelAndView.setViewName("demo/f2");return modelAndView;}
}
  • 404

找到了Controller,但是没有找到页面

没有找到Controller

乱码配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--配置Servlet--><servlet><servlet-name>mvcServlet</servlet-name><!--SpringMVC的核心类,请求的入口--><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--读取的配置文件路径--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:mvc2.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>mvcServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--乱码--><filter><filter-name>luan</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>luan</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>

静态资源文件

    <!--静态资源文件放过--><mvc:default-servlet-handler/>

接收参数

  • 普通参数
<%--action="/game/doAdd1"http://localhost:8080/game/doAdd1缺少了项目名,/表示根路径,浏览器理解的根路径,是从8080/开始的action="/mvc/game/doAdd1"--%><%--当前页面的路径http://localhost:8080/mvc/game/jumpaction="game/doAdd1"http://localhost:8080/mvc/game/game/doAdd1action="doAdd1"http://localhost:8080/mvc/game/doAdd1--%><%--浏览器,点击刷新按钮,默认是重新提交表单浏览器,url地址栏,选中,按回车,是再次通过get方法,访问这个url地址浏览器url地址栏,只能发送get请求浏览器点击后退的时候,并没有刷新页面,只是读取了电脑本地的缓存--%><hr/><h1>普通参数</h1><form action="doAdd1" method="post">   对应Controller文件下的@PostMapping("/doAdd1")<p><input type="text" name="gameId" placeholder="请输入游戏ID"/></p><p><input name="gameName" placeholder="请输入游戏名称"></p><p><input type="submit" value="提交"></p></form>
    //仅可以使用post方式访问@PostMapping("/doAdd1")public ModelAndView doAdd1(Integer gameId,String gameName){System.out.println(gameId+"----"+gameName);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");//对应在webapp文件下的WEB-INF文件里创建一个game的文件再创建一个success的jsp文件mv.addObject("game",gameName);return mv;}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title></head><body><h1>成功页面</h1><h2>${game}</h2></body></html>

  • 数组
    <h1>数组参数</h1><form action="/mvc/game/doAdd2" method="post"><p><input type="checkbox" name="hobbys" value="smoke">抽烟</p><p><input type="checkbox" name="hobbys" value="drink">喝酒</p><p><input type="checkbox" name="hobbys" value="run">跑路</p><p><input type="submit" value="提交"></p></form>
    @PostMapping("/doAdd2")public ModelAndView doAdd2(String[] hobbys){String hobbysStr = Arrays.toString(hobbys);System.out.println(hobbysStr);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",hobbysStr);return mv;}
  • 对象
    @PostMapping("/doAdd3")public ModelAndView doAdd3(Game game){System.out.println(game);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",game);return mv;}

  • 包装类
//包装类 VO@PostMapping("/doAdd4")public ModelAndView doAdd4(GameVo game){System.out.println(game);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",game);return mv;}
@Data
public class GameVo {private Game game;private Company company;
}

  • List和map
<form action="doAdd5" method="post"><p><input type="text" name="playerList[0].lv" placeholder="等级"><input type="text" name="playerList[0].nickname" placeholder="昵称"></p><p><input type="text" name="playerList[1].lv" placeholder="等级"><input type="text" name="playerList[1].nickname" placeholder="昵称"></p><p><input type="text" name="playerList[2].lv" placeholder="等级"><input type="text" name="playerList[2].nickname" placeholder="昵称"></p><p>背包</p><p><input type="text" name="items[1001]"><input type="text" name="items[1002]"><input type="text" name="items[1003]"></p><p><input type="submit" value="提交"></p></form>
@Data
public class GameVo{private Game game;private Company company;List<String> heroList;List<Player> playerList   ;Map<Integer,String> items;
}@PostMapping("/doAdd5")public ModelAndView doAdd5(GameVo gameVo){System.out.println(gameVo);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",gameVo);return mv;}
  • JSON字符串

引入依赖

    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.11.2</version></dependency><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.23</version></dependency>
    @PostMapping("/doAdd6")public ModelAndView doAdd6(@RequestBody Game game){System.out.println(game);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",game);return mv;}

    @PostMapping("/doAdd7")public ModelAndView doAdd7(@RequestBody List<Player> playerList){System.out.println(playerList);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",playerList);return mv;}@PostMapping("/doAdd8")public ModelAndView doAdd8(@RequestBody GameVo gameVo){System.out.println(gameVo);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");mv.addObject("game",gameVo);return mv;}
{"game":{"gid":1001,"name":"cogo","price":"12.2","type":{"typeName":"fps","typeId":"2000"}},"company":{"id":100,"name":"尚马"},"heroList":["天使","源氏","提莫"],"playerList":[{"lv":10,"nickname":"推车"},{"lv":22,"nickname":"泉水指挥官"}],"items":{"1001":"大宝剑","1002":"激光武器","1003":"核武器"}
}

解决乱码问题

  <filter><filter-name>luan</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>luan</filter-name><url-pattern>/*</url-pattern></filter-mapping>

获取ServletAPI

    //获取ServletAPI@GetMapping("/test1")public ModelAndView test1(HttpServletRequest request, HttpServletResponse response){HttpSession session = request.getSession();session.setAttribute("user","小明");ModelAndView mv = new ModelAndView();mv.setViewName("game/success");return mv;}@AutowiredHttpServletRequest request;@AutowiredHttpServletResponse response;@AutowiredHttpSession session;@GetMapping("/test2")public ModelAndView test2(){Object user = session.getAttribute("user");System.out.println(user);ModelAndView mv = new ModelAndView();mv.setViewName("game/success");return mv;}

返回值

返回String

跳转的页面地址

    //单纯的页面跳转,不想传值@GetMapping("/jump")public String jump(){return "game/player";}

JSON数据

@Controller
@RequestMapping("/player")
public class PlayerController {//单纯的页面跳转,不想传值@GetMapping("/jump")public String jump(){return "game/player";}//只想返回一个字符串,不需要返回页面@ResponseBody@GetMapping("/success")public String success(){return "success";}@GetMapping("/queryById")@ResponseBodypublic Player getById(Integer id){Player player = new Player();player.setLv(id);player.setNickname("昵称-----");return player;}@ResponseBody@GetMapping("/list")public List<Player> list(){return new ArrayList<>();}
}
  • 整个类都返回json,没有页面
@RestController

默认,整个类,返回的都是json数据,就不能返回页面了

转发(url地址不变)&重定向(url地址改变)

    //测试转发,不能使用json数据返回@GetMapping("/test1")public String test1(){//转发return "forward:test2";}@ResponseBody@GetMapping("/test2")public String test2(){return "我是Test2";}//重定向测试也不能返回json@GetMapping("/test3")public String test3(){//重定向return "redirect:test2";}

ResonseEntity

    @ResponseBody@GetMapping("/query/id")public ResponseEntity<Player> query(){Player player = new Player();player.setNickname("不知道");ResponseEntity<Player> entity = new ResponseEntity<>(player, HttpStatus.INTERNAL_SERVER_ERROR);return entity;}

携带Header

    @ResponseBody@GetMapping("/query/id2")public ResponseEntity<Player> query2(){Player player = new Player();player.setNickname("不知道");//new header对象HttpHeaders httpHeaders = new HttpHeaders();//header中添加自定义属性httpHeaders.add("javasm","Hello Java ");ResponseEntity<Player> entity = new ResponseEntity<>(player,httpHeaders, HttpStatus.INTERNAL_SERVER_ERROR);return entity;}

简化

    @ResponseBody@GetMapping("/query3")public ResponseEntity<String> query3(){//默认状态 200return ResponseEntity.ok("Success!!!!!!!!!!!!!!!");}
    @ResponseBody@GetMapping("/query4")public ResponseEntity<String> query4(){return ResponseEntity.status(500).body("Success??????");}

Rest风格

@RestController=    @ResponseBody+@Controller
@RestController
@RequestMapping("/company")
public class CompanyController {//不能接收特殊字符,接收简单的参数@GetMapping("/query/{id}/{name}")public Company queryById(@PathVariable("id") Integer cid,@PathVariable String name){Company company = new Company();company.setId(cid);company.setName(name);return company;}@GetMapping(value = {"/query2","/query2/{id}"})public Company query2(@PathVariable(required = false) Integer id){Company company = new Company();company.setId(id);return company;}
}

相关文章:

24.12.26 SpringMVCDay01

SpringMVC 也被称为SpringWeb Spring提供的Web框架,是在Servlet基础上,构建的框架 SpringMVC看成是一个特殊的Servlet,由Spring来编写的Servlet 搭建 引入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc<…...

一分钟快速了解Ecovadis认证等级划分

Ecovadis认证等级划分&#xff0c;作为评估企业社会责任表现的重要标尺&#xff0c;其细致而严谨的体系为全球范围内的企业提供了一个可量化的衡量标准。这一认证等级不仅彰显了企业在环境保护、劳工权益、商业道德以及可持续发展等方面的努力与成就&#xff0c;更是企业向国际…...

科技云报到:人工智能时代“三大件”:生成式AI、数据、云服务

科技云报到原创。 就像自行车、手表和缝纫机是工业时代的“三大件”。生成式AI、数据、云服务正在成为智能时代的“新三大件”。加之全球人工智能新基建加速建设&#xff0c;成为了人类社会数字化迁徙的助推剂&#xff0c;让新三大件之间的耦合越来越紧密。从物理世界到数字世…...

【网络云计算】2024第52周-每日【2024/12/26】小测-理论实操-备份MySQL数据库并发送邮件-解析

文章目录 1. 编写备份脚本2. 设置定时任务3. 注意事项 【网络云计算】2024第52周-每日【2024/12/26】小测-理论&实操-备份MySQL数据库并发送邮件-解析 为了实现您提出的Discuz数据库备份任务&#xff0c;包括备份脚本、定时任务、备份成功邮件确认、脚本运行时长、备份后的…...

菜鸟带新鸟——基于EPlan2022的部件库制作(3D)

设备逻辑的概念&#xff1a; 可在布局空间 中和其它对象上放置对象。可将其它对象放置在 3D 对象上。已放置的对象分到组件的逻辑结构中。 将此属性的整体标识为设备逻辑。可使用不同的功能创建和编辑设备逻辑。 设备的逻辑定义 定义 / 旋转 / 移动 / 翻转&#xff1a;组…...

Level DB --- MemTable

MemTable是Level DB中重要的组件&#xff0c;它主要处理Level DB内存级别的增删查改。 基本数据结构 基础的存储数据结构如图1所示&#xff0c;这是一个存储单元的结构。其中1是internal key size&#xff0c;这里面包括两部分&#xff0c;一部分我们Level DB存储key-value中…...

【山西长治】《长治市市直部门政务信息化建设项目预算编制规范和预算编制标准》(长财行[2022]25号)-省市费用标准解读系列32

《长治市市直部门政务信息化建设项目预算编制规范和预算编制标准(试行)》&#xff08;长财行[2022]25号&#xff09;于2022年8月1日开始试行&#xff0c;此标准由长治市财政局、长治市行政审批管理局编制&#xff0c;是对信息化建设项目预算管理的基本要求&#xff0c;主要适用…...

海格通信嵌入式面试题及参考答案

计算电路的最高工作频率如何计算? 计算电路的最高工作频率主要考虑电路中的关键路径延迟。关键路径是指在整个电路中,信号传播延迟最长的路径。电路的最高工作频率的倒数就是时钟周期,而时钟周期必须大于关键路径的延迟时间。 首先要确定电路中各个模块的延迟。比如对于组合…...

前端学习DAY27(盒子模型内边距)

内边距(padding)&#xff0c;指的是盒子的内容区与盒子边框之间的距离 一共有四个方向的内边距&#xff0c; 可以通过: padding-top padding-right padding-bottom padding-left <!DOCTYPE html> <html lang"en"> <head><meta charset"U…...

基于cobra开发的k8s命令行管理工具k8s-manager

基于cobra开发的k8s命令行管理工具k8s-manager 如果觉得好用&#xff0c;麻烦给个Star!通用配置1 node 分析所有node的资源情况2 analysis 分析Node节点上的资源使用构成3 image 获取指定namespace的所有镜像地址4 resource 获取指定namespace的所有limit 与 Requests大小5 top…...

scala基础学习(数据类型)-数组

文章目录 数组 Array创建数组直接定义fillofDimtabulate range打印数组toSeqdeepforeach(println) length获取长度indexOf 获取元素索引获取元素/修改元素遍历数组数组内元素转换filter 过滤found 查找元素数组折叠 foldLeft切片拼接排序拷贝copyclone 数组 Array Array是一个…...

uniapp 微信小程序 页面部分截图实现

uniapp 微信小程序 页面部分截图实现 ​ 原理都是将页面元素画成canvas 然后将canvas转化为图片&#xff0c;问题是我页面里边本来就有一个canvas&#xff0c;ucharts图画的canvas我无法画出这块。 ​ 想了一晚上&#xff0c;既然canvas最后能转化为图片&#xff0c;那我直接…...

C语言从入门到放弃教程

C语言从入门到放弃 1. 介绍1.1 特点1.2 历史与发展1.3 应用领域 2. 安装2.1 编译器安装2.2 编辑器安装 3. 第一个程序1. 包含头文件2. 主函数定义3. 打印语句4. 返回值 4. 基础语法4.1 注释4.1.1 单行注释4.1.2 多行注释 4.2 关键字4.2.1 C语言标准4.2.2 C89/C90关键字&#xf…...

直流无刷电机驱动原理3-驱动板硬件设计

六步换向原理 检测转子角度,知道什么时候是60度,什么时候应该换向。 逆时针旋转 三相逆变器,mos管,半桥驱动电路。 PWM调制 不对称半桥调制例程使用第(2)种。对上桥臂PWM调制,下桥臂全部导通。这时候由上桥臂的PWM的占空比决定电机的旋转速度。驱动器电路硬件框图--实…...

攻防世界web第三题file_include

<?php highlight_file(__FILE__);include("./check.php");if(isset($_GET[filename])){$filename $_GET[filename];include($filename);} ?>惯例&#xff1a; 代码审查&#xff1a; 1.可以看到include(“./check.php”);猜测是同级目录下有一个check.php文…...

Trivy Operator命令使用说明

你已成功安装了 Trivy Operator&#xff0c;以下是命令的使用说明&#xff1a; 1. 查看 VulnerabilityReports VulnerabilityReports 是 Trivy Operator 生成的漏洞扫描报告&#xff0c;用于检查容器镜像中的漏洞。 kubectl get vulnerabilityreports --all-namespaces -o wi…...

Lazada商品评论API接口:深度解析与应用实践

在电商领域&#xff0c;用户评论是了解产品市场表现和消费者反馈的重要渠道。Lazada作为东南亚领先的电商平台&#xff0c;提供了商品评论API接口&#xff0c;允许第三方开发者获取平台上商品的评论信息。本文将深入解析Lazada商品评论API接口的重要性、开发应用、以及如何通过…...

2024最新鸿蒙开发面试题合集(二)-HarmonyOS NEXT Release(API 12 Release)

上一篇面试题链接&#xff1a;https://mp.csdn.net/mp_blog/creation/editor/144685078 1. 鸿蒙简单介绍和发展历程 HarmonyOS 是新一代的智能终端操作系统&#xff0c;为不同设备的智能化、互联与协同提供了统一的语言。带来简洁&#xff0c;流畅&#xff0c;连续&#xff0…...

macrodroid通过http请求控制手机运行宏

macrodroid adb命令 adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS例:http请求手机播放指定MP3文件 声音素材_电量过低提醒 新建一个宏 添加触发器-连接-http服务器请求 路径随意填,最好不要有特殊符号,不然浏览器识别链接会出错,…...

【Unity3D】Jobs、Burst并行计算裁剪Texture3D物体

版本&#xff1a;Unity2019.4.0f1 PackageManager下载Burst插件(1.2.3版本) 利用如下代码&#xff0c;生成一个Texture3D资源&#xff0c;它只能脚本生成&#xff0c;是一个32*32*32的立方体&#xff0c;导出路径记得改下&#xff0c;不然报错。 using UnityEditor; using Uni…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...