[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 小时前
Docker 一键启动:打造高效的 Java 微服务开发环境
java·docker·微服务
wangbing11252 小时前
平台介绍-动态更换登录背景图
java
tryxr2 小时前
继承存在的意义、特点、使用方法
java·开发语言·接口
进击的前栈2 小时前
Flutter跨平台开发鸿蒙化HTTP解析工具包使用指南
flutter·http·harmonyos
tbRNA2 小时前
Java 基础入门易错知识点(三)
java·开发语言
今天有个Bug2 小时前
【计算机毕业设计】流浪动物救助平台 - SpringBoot+Vue
sql·mysql·spring·vue·毕业设计·课程设计
韩立学长2 小时前
【开题答辩实录分享】以《基于SSM的电影售票管理系统的设计与实现》为例进行选题答辩实录分享
java·spring·servlet
程序员阿鹏3 小时前
@Autowired和@Resource的区别
java·开发语言·spring
Halo_tjn3 小时前
Java List集合知识点
java·开发语言·windows·算法·list