SpringMVC(6) :阶段总结

SpringMVC(6) :阶段总结

文章目录

  • [SpringMVC(6) :阶段总结](#SpringMVC(6) :阶段总结)
  • [1. 请求连接,传递参数](#1. 请求连接,传递参数)
  • [2. cookie 和 session](#2. cookie 和 session)
  • 3.总结:

1. 请求连接,传递参数

说明:下面的代码,你需要自己去写。

使用 @RequestMapping 定义好 资源路径(类路径 + 方法路径),然后自己使用 postman 进行访问,测试。

1.1 建立连接@RequestMapping

我们通过 @RequestMapping 设置资源路径,建立连接。

资源路径:类路径 + 方法路径

图中的 "/r1" 默认传递给 @RequestMapping 的 value属性。

@RequestMapping 支持所有的请求方式。

我们可以使用 @POSTMapping 或 @GETMapping 等等,来指定一个请求方式。

@RequestMapping 可以手动设置多个请求方式

图中这个 m6 方法,支持 GET,POST 请求方法。

1.2传递参数

传递参数,涉及到多个:

  1. 传递一个参数
  2. 传递两个参数
  3. 传递多个参数(传递一个对象)
  4. 传递一个数组
  5. 传递 Integer 和 int 类型
  6. 参数重命名(参数绑定)@RequestParam
  7. 传递集合 @RequestParam
  8. 传递 JSON @RequestBody
  9. 上传文件(文件名重命名 @RequestPart( ))

其中,传递 Integer 和 int 类型 时,更推荐使用 Integer ,因为它有默认值,null

int类型,不是类的成员变量,没有默认值,是必传参数。

参数绑定,设计一个注解:@RequestParam
@RequestParam()参数重命名,也叫做参数绑定 ,把前端的参数,绑定给后端的某一个参数,并赋值了。

传递集合,也需要 @RequestParam 注解。

客户端传递多个字符串数据,默认是以 数组 方式,传递给服务器的。
@RequestParam ,这个注解,就是把 数组,绑定给 集合

传递 JSON,涉及到一个新的注解:@RequestBody

@RequestBody 这个注解表示:我们后端代码要接收的数据,是一个json对象。

@RequestBody的作用是:将请求体中的数据绑定到方法的参数上,通常用于接收前端发送的 JSON 或 XML 格式的数据

上传文件,使用 MultipartFile 类进行接收。

后端代码,文件名 可以 重命名,这里需要用一个新的注解:@RequestPart( ),括号里面,填写一个和发送方相同的参数名。

@RequestPart( )注解

@RequestPart 注解用于处理 multipart/form-data 表单提交请求的方法上。它适用于复杂的请求域(如 JSON、XML) ,并且支持 MultipartFile(文件) 类型的请求参数。

总结:

实际开发中,传递 JSON 的频率是最高的,其次是传递对象,最后是 单个参数。

1.3 获取参数 @PathVariable

从 URL 中获取参数。

获取参数,可以获取一个,获取多个。

涉及到一个新的注解:@PathVariable

@PathVariable:路径变量 和字⾯表达的意思⼀样,这个注解主要作⽤在请求URL路径上的数据绑定

当你的URL路径上的数据中的{ }包含的变量名,和使用 @PathVariable注解 修饰的变量名一致,就可以获取到URL路径上的参数。

@PathVariable需要注意的点
  1. 默认情况下@PathVariable 的参数名需要与 URI 模板中的占位符名称一致。
  2. @PathVariable 默认是必填 的。可以通过修改取消默认必填(required = false

获取参数,现在的开发中,用的不多。

了解有这个东西,之后需要使用的时候,查一下怎么用就行。

  • Cookie客户端 保存用户信息的⼀种机制。
  • Session服务器端 保存用户信息的⼀种机制。
  • Cookie 和 Session 之间主要是通过 SessionId 关联起来的,SessionId 是 Cookie 和 Session 之间的 桥梁
  • Cookie 和 Session 经常 会在⼀起配合使用。但是不是必须 配合。
    1. 完全可以用 Cookie 来保存⼀些数据在客户端。这些数据不⼀定是用户身份信息,也不⼀定是 SessionId
    2. Session 中的 sessionId 也不需要非得通过 Cookie/Set-Cookie 传递,比如通过URL传递。

3.总结:

这篇博客,主要就是总结了一下,前面学过的东西,包括这些博客:

  1. Spring框架:Spring程序快速上手
  2. SpringMVC(1)初识MVC
  3. SpringMVC(2)传入请求参数
  4. SpringMVC(3)传递 json
  5. SpringMVC(4)获取参数,上传文件
  6. SpringMVC(5) Cookie和Session

最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!

下一篇博客:SpringMVC(7):获取 cookie和session

相关推荐
爱敲代码的小鱼1 天前
springboot(2)从基础到项目创建:
java·spring boot·spring
卓怡学长1 天前
m315基于java的水果网上商城的开发与设计
java·数据库·spring·tomcat·maven·intellij-idea
zdl6861 天前
springboot+全局异常处理
java·spring boot·spring
立莹Sir1 天前
Spring Bean生命周期设计思想与源码深度剖析:从表象到本质的全面升级
java·spring·rpc
sxhcwgcy1 天前
SpringBoot 使用 spring.profiles.active 来区分不同环境配置
spring boot·后端·spring
Java成神之路-1 天前
MyBatis 开发模式演进:原生、Spring 与 Spring Boot 整合实战(MyBatis系列2)
spring boot·spring·mybatis
稻草猫.2 天前
Spring事务操作全解析
java·数据库·后端·spring
砍材农夫2 天前
spring-ai 第三结构化输出
java·人工智能·spring
希望永不加班2 天前
SpringBoot 整合 MongoDB
java·spring boot·后端·mongodb·spring
卓怡学长2 天前
m307自习室预订座位管理分析与实现
java·spring boot·spring