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

相关推荐
泡海椒19 分钟前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
景熙55232 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
wno7042 小时前
Spring Security权限控制
java·python·spring
杨运交3 小时前
[071][验证码模块]基于Spring拦截器的验证码认证设计思想
java·后端·spring
Geek-Chow3 小时前
CountDownLatch in Java
java
SL_staff3 小时前
从RBAC到场景化授权:《无忧·企业文档》三级权限模型的技术实践解析
java·开源·产品
传奇开心果编程4 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
SL_staff4 小时前
财务系统慎用低代码?从数据模型闭环看合规落地的技术实践
java·低代码·全栈
滕州市燕猫虎计算机科技工作室个体工商户4 小时前
IDEA:Command line is too long
java·ide·intellij-idea
碳基修炼5 小时前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http