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

相关推荐
皮皮林5511 天前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河1 天前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程1 天前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅1 天前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者1 天前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺1 天前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart1 天前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP1 天前
MyBatis-mybatis入门与增删改查
java
孟陬2 天前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端