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

SpringMVC系列(四)(请求处理的十个实验(下))

0 引言

作者正在学习SpringMVC相关内容,学到了一些知识,希望分享给需要短时间想要了解SpringMVC的读者朋友们,想用通俗的语言讲述其中的知识,希望与诸位共勉,共同进步!

本系列会持续更新!!可以放心食用!

1 十个请求处理实验中的后五个

1.1 实验六 POJO级联封装复杂属性

首先我们现根据实验六的内容先填写相关内容,点击注册:

并看一下发送的请求为Get类型,我们先来看一下它的请求地址后面带的参数:

1)username=Lin&password=1234&cellphone=12345

2)&address.province=福建省&address.city=厦门市&address.area=翔安区

3)&hobby=足球&hobby=篮球

4)&sex=男

5)&grade=一年级&agreement=on

我们发现1/4/5行都是简单类型属性;第二行是一个需要封装成一个POJO对象(因为是.出来的);第三行需要封装成一个数组,这样的一个复杂的POJO类型,后端应该怎么样来接这个数据呢?

首先必须要先写一个POJO对象来封装他们:

import lombok.Data;@Data
public class People {//基础属性private String username;private String password;private String cellphone;private boolean agreement;private String sex;private String grade;//POJO对象private Address address;//数组private String[] hobby;}@Data
class Address {private String province;private String city;private String area;
}

然后编写Comtroller代码:

    @RequestMapping(value = "/handle06")public String handle06(People people){System.out.println(people);return "ok!!!";}

随后进行测试:

网页端:

后端:

1.2 实验七 @RequestBody注解接收JSON格式数据

实验七让我们自己使用postman进行传输JSON格式的数据,

首先编写后端java代码(需要带上注解@RequestBody,表明前端传进来的数据是JSON格式的):

    @RequestMapping(value = "/handle07")public String handle07(@RequestBody People people){System.out.println(people);return "ok!!!";}

我们就拿实验六中的数据,进行JSON格式的封装(JSON格式的数据如下,省的大伙儿再打一遍了):

{

    "username":"小林学编程",

    "password":"123456",

    "cellphone":"1234567",

    "agreement":"true",

    "sex":"男",

    "hobby":["篮球","足球"],

    "address":{

        "province":"福建省",

        "city":"厦门市",

        "area":"翔安区"

    }

}

随后打开postman进行测试:

进行测试:

postman端:

后端:

1.3 实验八 文件上传

进入实验八:

当我们发送注册请求时:

看F12中的请求体中的数据,有两个是图片文件:

要想后端收到文件可以这么写,使用MultipartFile类进行接收:

    @RequestMapping(value = "/handle08")public String handle08(People people,@RequestParam("headerImg") MultipartFile headerImg,@RequestParam("lifeImg") MultipartFile lifeImg) throws IOException {//获得原始文件名String headerImgName = headerImg.getOriginalFilename();// 保存图片到本地headerImg.transferTo(new File("D:\\"+headerImgName));return "ok!!!";}

并将文件保存至我的D盘当中。

测试;

网页端:

文件是否导入D盘中:

1.4 实验九 HttpEntity获得整个请求头和请求体

前面我们分别测试了单独获得请求头和请求体的内容,我们有没有一种方法两种都能获得呢?有的兄弟有的,那就是HttpEntity类,java代码可以这样写:

    @RequestMapping(value = "/handle09")public String handle09(HttpEntity<People> httpEntity){//获得请求头System.out.println("请求头" + httpEntity.getHeaders());//获得请求体System.out.println("请求体" + httpEntity.getBody());return "ok!!!";}

注意:HttpEntity<People>中的泛型指的是请求体中的数据类型!

然后使用postman发出请求:

测试结果:

postman端:

终端:

1.5 实验十 传入原生API(不推荐)

如果你是一个怀旧的人,可以使用原生的web处理API进行调用(这种方法不推荐,有更好的工具为啥不用)

    @RequestMapping(value = "/handle10")public String handle10(HttpServletRequest request, HttpServletResponse  response) throws IOException {//进行原始的操作return "ok!!!";}

具体的操作留给读者自己去写具体的操作,本篇不再重复。

2 十个实验的测试代码

如果大家也不想敲代码的话,那就可以直接在我的gitee地址里面下载十个实验的测试代码:

lin/请求测试十个实验https://gitee.com/lin2002wei/Request_code

参考:

P96-P100

100.请求处理 -实验10:传入原生API_哔哩哔哩_bilibili

http://www.lryc.cn/news/576188.html

相关文章:

  • 【请关注】制造企业机械加工数据脱敏解决方案
  • 【数据分析,相关性分析】Matlab代码#数学建模#创新算法
  • 目标跟踪存在问题以及解决方案
  • Linux信号机制:从入门到精通
  • Windows VMWare Centos环境下安装Docker并配置MySql
  • 香港 8C 站群服务器买来可以做哪些业务?
  • opi是opensuse独占的吗?
  • 工厂“智能指挥家”上线,富唯智能调度系统让机器人高效协作
  • 关于SAP产品名称变更通知 SAP云认证实施商工博科技
  • 导出docker-compse.yml中docker镜像成tar文件
  • 基于fpga的串口控制的音乐播放器
  • 从0开始学习计算机视觉--Day04--损失函数
  • 微信小程序:实现树形结构组件
  • 【MySQL进阶】服务器配置与管理——系统变量,选项,状态变量
  • 将ONNX模型转换为(OPENMV可用的格式)TensorFlow Lite格式
  • Flotherm许可状态检查
  • Godot4.3类星露谷游戏开发之【简易库存】(UI部分)
  • HTTPS hostname wrong: should be <xxx>错误解决
  • 【大模型水印论文阅读2】前缀文本编码、均匀性约束
  • Stable Diffusion 3终极提示词库:2000个工业设计场景生成公式(2025企业级实战指南)
  • 强化学习理论基础:从Q-learning到PPO的算法演进(2)
  • openGL学习(基本窗口)
  • [ linux-系统 ] 磁盘与文件系统
  • 【论文阅读 | CVPR 2025 |MambaVision:一种混合 Mamba-Transformer 视觉骨干网络】
  • 2025.6.27总结
  • 机器人 URDF学习笔记
  • Windows 10 ARM64平台CAN程序开发
  • 飞凌A40i使用笔记
  • React中的ErrorBoundary
  • 【Yonghong 企业日常问题08 】永洪BI的Apache Tomcat版本升级指南