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

相关推荐
java资料站2 小时前
十一、Spring AI Alibaba · 高级 · 多智能体(Multi-agent)
人工智能·spring·microsoft
海马4 小时前
Spring Cloud 开发知识整理
spring·spring cloud·wpf
EatFan5 小时前
2026 后端 AI 工程化:Spring AI 2.0、MCP 协议与 Agent 内嵌如何收进 Java 生产系统
java·人工智能·spring·agent·spring ai·spring boot 3·mcp
萧瑟余晖8 小时前
Spring MVC拦截器异常处理与跨域详解
java·spring·mvc
hmb↑8 小时前
高并发与高可用技术经验
java·spring
桃西西呀12 小时前
Spring AI Alibaba 之七:我没写一行 tracing 埋点,Agent 每一步却被 Micrometer 看得清清楚楚
人工智能·spring·llm
桃西西呀12 小时前
Spring AI Alibaba 之八:我让 Agent 直接执行 shell 命令,它却读到了目录里的密钥,沙箱到底防住了什么
人工智能·spring·llm
~光~~14 小时前
【嵌入式linux学习】Cache 策略:Write-Through / Write-Back + Allocation
linux·学习·spring
m0_5873830014 小时前
24 小时自助健身房系统软件开发实战指南与案例解析
java·spring boot·spring·系统架构·需求分析