[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提供的

相关推荐
像我这样帅的人丶你还2 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev4 小时前
GreenDAO → Room
android·java·kotlin
喵个咪8 小时前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
亦暖筑序9 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏10 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev11 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还1 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩1 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia1 天前
Mybatis的日志输入
java
亦暖筑序1 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式