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

相关推荐
独断万古他化2 小时前
【Spring 事务】核心概念与实战:从手动控制到注解自动事务
java·spring·事务
要开心吖ZSH2 小时前
Spring AI Alibaba 个人学习笔记
人工智能·学习·spring·spring ai·springaialibaba
独断万古他化2 小时前
【Spring 事务】事务隔离级别与事务传播机制:从理论到业务落地实操
java·后端·spring·事务隔离·事务传播
嗯嗯**3 小时前
Neo4j学习3:Java连接图库并执行CQL
java·学习·spring·neo4j·图数据库·驱动·cql
树码小子3 小时前
SpringMVC(13):总结
spring
小信丶3 小时前
@EnableMethodCache 注解详解:原理、应用场景与示例代码
java·spring boot·后端·spring
q行16 小时前
Spring概述(含单例设计模式和工厂设计模式)
java·spring
好好研究16 小时前
SpringBoot扩展SpringMVC
java·spring boot·spring·servlet·filter·listener
NE_STOP17 小时前
spring6-工厂设计模式与bean的实例化方式
spring