[SSM]SpringMVC请求与响应

请求映射路径

团队多人开发,每人设置不同的请求路径,冲突问题如何解决----设置模块名作为请求路径前缀

请求映射路径

名称: @RequestMapping

类型: 方法注解 类注解

位置: SpringMVc控制器方法定义上方

作用: 设置当前控制器方法请求访问路径,如果设置在类上统一设置当前控制器方法请求访问路径前缀

范例:

属性:

value(默认): 请求访问路径,或访问路径前缀

Get和Post传参

Get请求传参

普通参数: url地址传参,地址参数名与形参变量名相同,定义形参即可接收参数

Post请求参数

普通参数: form表单post请求传参,表单参数名与形参变量名相同,定义形参即可接收参数

Post请求中文乱码处理

为web容器添加过滤器并指定字符集,Spring-web包中提供了专用的字符过滤器

  • 只能处理表单提交中文参数乱码问题, 不能处理查询参数的中文

参数传递

普通参数: url地址传参,地址参数名与形参变量名相同,定义形参即可接收参数

普通参数: 请求参数名与形参变量名不同,使用@RequestParam绑定参数关系

  • 位置: SpringMVC控制器方法形参定义前面
  • 作用: 绑定请求参数与处理器方法形参间的关系
  • 参数:
    • required: 是否为必传参数
    • defaultValue: 参数默认值

POJO参数: 请求参数名与形参对象属性名相同,定义POJO类型形参即可接收参数

嵌套POJO参数: 请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数

数组参数: 请求参数名与形参对象属性名相同且请求参数为多个,定义数组类型形参即可接收参数

集合保存普通参数: 请求参数名与形参集合对象名相同且请求参数为多个,@RequestParam绑定参数关系

JSON参数传递

接收请求中的json数组

  1. 添加json数据转换相关坐标
  1. 设置发送json数据(请求body中添加json数据)
  1. 开启自动转换json数据的支持
  • @EnablewebMvc注解功能强大,该注解整合了多个功能,此处仅使用其中一部分功能,即Json数据进行自动类型转换
  1. 设置接收json数据
  • @RequestBody作用: 将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次

接收请求中的json对象 (POJO)

POJO参数: json数据与形参对象属性名相同,定义POJO类型形参即可接收参数

接收请求中的json数组 (POJO)

POJO集合参数: json数组数据与集合泛型属性名相同,定义List类型形参即可接收参数

@RequestBody与@RequestParam区别

  1. 区别
  • @RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
  • @RequestBody用于接收json数据【application/json】
  1. 应用
  • 后期开发中,发送json格式数据为主,@RequestBody应用较广
  • 如果发送非json格式数据,选用@RequestParam接收请求参数

日期类型参数传递

日期类型数据基于系统不同格式也不尽相同

  • 2088-08-18
  • 2088/08/18
  • 08/18/2088

接收形参时,根据不同的日期格式设置不同的接收方式

说明:

  • SpringMVC可以直接接收标准的Date格式, 但是传参格式不对的时候就无法接收, 只能报错
  • 如果格式不对, 需要我们主动设置日期格式, 完成数据接收

名称: @DateTimeFormat

  • 类型: 形参注解
  • 位置: SpringMVC控制器方法形参前面
  • 作用: 设定日期时间型数据格式
  • 属性: pattern:日期时间格式字符串

类型转换器

Converter接囗是专门用来进行数据转换的接口之一, 它有很多实现类帮我们进行各种数据转换

  • 请求参数年龄数据(String→Integer)
  • 日期格式转换(String→Date)
  1. SpringMVC默认开启部分的数据转换规则, 有些数据类型转换出现问题, 记得使用@EnableWebMvc注解
  2. @EnableWebMvc功能之一: 根据类型匹配对应的类型转换器

响应数据

响应页面

响应文本数据

响应json数据 (对象转JSON)

响应json数据 (对象集合转JSON数组)

@ResponseBody注解

类型: 方法注解

位置: SpringMVc控制器方法定义上方

作用: 设置当前控制器返回值作为响应体

范例:

HttpMessageConverter接口也是一个类型转换器, 专门转换http的消息, 响应数据的类型转换就是由它完成的

而且这个接口不是SpringMVC提供的, 而是jackson-databind提供的

相关推荐
萧瑟余晖31 分钟前
JDK 26 新特性详解
java·开发语言
马优晨1 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
维天说4 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane19944 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了5 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品5 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘5 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记6 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
糖果店的幽灵6 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
极光代码工作室7 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发