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

Spring MVC 处理请求

目录

  • 1、SpringMVC 处理请求
    • 1.1、HTTP 请求报文
    • 1.2、获取 URL 中参数 @PathVariable
    • 1.3、获取请求头数据
      • 1.3.1、传统获取 Header/Cookie
      • 1.3.2、获取 Header—@RequestHeader
      • 1.3.3、获取 Cookie—@CookieValue
      • 1.3.4、Session 的存储和获取—@SessionAttribute
    • 1.4、获取请求数据
      • 1.4.1、请求数据的类型
      • 1.4.2、方法参数不带任何注解
      • 1.4.3、方法参数带@RequestParam
      • 1.4.4、方法参数带@RequestBody
      • 1.4.5、接收文件

1、SpringMVC 处理请求

1.1、HTTP 请求报文

请求方法 请求路径 版本号
请求头
(空行)
请求正文

在这里插入图片描述

1.2、获取 URL 中参数 @PathVariable

url 路径中,某个部分是动态变化的,可以绑定在变量中。
@RequestMapping(”xxx/{路径变量名称}“)
public 数据类型 xxx(@PathVariable 数据类型 路径变量名称)

在这里插入图片描述

在这里插入图片描述

请求路径中的路径变量类型需要满足代码中定义的路径变量类型,例如上述例子的路径变量类型是 Integer,那么在请求路径中只能是整型,否则会出现 400 报错

在这里插入图片描述

1.3、获取请求头数据

1.3.1、传统获取 Header/Cookie

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

1.3.2、获取 Header—@RequestHeader

当客户端发送 HTTP 请求时,通常会发送请求头,可以通过 @RequestHeader 注解获取请求头中某个字段的值。
@RequestHeader(“请求头的字段名”)

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

1.3.3、获取 Cookie—@CookieValue

由于 Cookie 中有多个字段,使用 getCookies 方法获取的是数组,因此可以通过 @CookieValue 注解获取请求头中 Cookie 的某个字段的值。Cookie:字段名=值(可以有多个)

在这里插入图片描述

@CookieValue(“Cookie的字段名”)

在这里插入图片描述

在这里插入图片描述

1.3.4、Session 的存储和获取—@SessionAttribute

模拟登录,登录的用户叫 abc

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

获取 session 中的用户,@SessionAttribute(”Session 字段名“)(也可以利用 session.getAttribute(字段名)获取)

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

1.4、获取请求数据

获取请求数据,都是在 Controller 请求方法的方法参数来绑定

1.4.1、请求数据的类型

  • url 的 ?后面的 queryString:字段名=值&字段名=值。

在这里插入图片描述

  • urlencoded 格式,又叫form格式,或者是 x-www-form-urlencoded 格式,由键值对组成:字段名=值&字段名=值。

在这里插入图片描述

  • JSON 格式:由两种基本数据结构组成:对象和数组,对象是键值对的集合,数据是有序的值集合。支持字符串、数字、布尔值、数组、对象和空值这几种数据类型。

在这里插入图片描述

  • form-data:多个字段,每个字段都可以是任意格式,在上传文件时非常适用。

在这里插入图片描述

1.4.2、方法参数不带任何注解

在这里插入图片描述

1.4.3、方法参数带@RequestParam

@RequestParam :用于将指定的请求参数赋值给方法中的形参。有以下三个属性

  • value:请求参数名(必须配置),必须和前端传递的参数名一致
  • required:是否必需,默认为 true,即必须存在该字段
  • defaultValue:默认值,如果设置了默认值,required 无论是否配置值均为 false

在这里插入图片描述
只能使用简单类型。

1.4.4、方法参数带@RequestBody

接受 JSON 格式的数据。如果接收的是 JSON 对象,是把 JSON 每个字段,设置到对象属性,如果没有这个字段,就不设置。

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

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

1.4.5、接收文件

接受文件使用 SpringMVC 的文件上传类 MultipartFile,有三种方法接收:

  1. 可以不带注解,此时文件是可选字段

在这里插入图片描述

  1. @RequestParam 注解,默认必须存在该字段

在这里插入图片描述

在这里插入图片描述

  1. @RequestPart 注解,默认必须存在该字段

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

相关文章:

  • MRI学习笔记-Meta分析
  • Eureka Server 数据同步原理解析
  • NodeJS服务器 + Vue3框架 从搭建服务器 定义接口 到请求数据页面展示
  • 【杂谈】-Meta AI的可扩展内存层
  • 养老小程序方案详解居家养老小程序系统
  • 第十章 数据库恢复技术
  • 我的AI工具箱Tauri版-通用音频转文本
  • 智能图像处理平台:RabbitMQ配置
  • Unclutter for Mac v2.2.12 剪贴板/文件暂存/笔记三合一 支持M、Intel芯片
  • 安卓基础组件Looper - 03 java层面的剖析
  • Spring Cloud Gateway 网关的使用
  • Stiring-PDF:开源免费的PDF文件处理软件
  • 记一次误禁用USB导致键盘鼠标失灵的修复过程
  • 【鸿蒙Next】鸿蒙与flutter使用自定义iconfont的ttf字体库对比总结
  • 大模型分布式训练和优化
  • 游戏引擎学习第133天
  • nuxt常用组件库html-validator、@nuxtjs/i18n、@nuxt/image、@unocss/nuxt使用解析
  • Leetcode 538: 把二叉搜索树转换为累加树
  • Leetcode 刷题记录 02 —— 双指针
  • 软件工程:软件需求之需求分析方法
  • 朝鲜称将在各领域采取反制措施,应对美国敌对挑衅
  • 小雨伞保险经纪母公司手回集团通过港交所聆讯
  • 烤肉店从泔水桶内捞出肉串再烤?西安未央区市监局:停业整顿
  • 晋级四强!WTA1000罗马站:郑钦文2比0萨巴伦卡
  • 今年前4个月上海对拉美国家进出口总值增长2%
  • 菲律宾中期选举初步结果出炉,杜特尔特家族多人赢得地方选举