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

相关推荐
Flittly18 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(二):执行隔离沙箱实战
java·spring boot·spring
BUG指挥官2 天前
Sa-Token和Spring Security对比
java·后端·spring
geminigoth2 天前
Spring AI Alibaba 入门开发一(备份)
java·人工智能·spring
xbgRS2 天前
spring整合mybaits
java·spring·mybatis
ruleslol2 天前
静态依赖注入 VS 动态依赖查询
spring
墨雨晨曦882 天前
Spring AI总结
java·人工智能·spring
用户3126874877202 天前
Spring Boot 异常处理到底怎么玩的?从 DispatcherServlet 到全局兜底的全链路拆解
spring
不才不才不不才2 天前
Spring 源码系列(17): HandlerMapping 与 HandlerAdapter 两大体系
java·后端·spring
(轻舟已过万重山)2 天前
第40章 Spring AI 实战:企业级 AI 应用架构
人工智能·spring·架构
堕落年代3 天前
Ollama CPU 推理大提示词优化实测报告(细致化数据版)
java·后端·spring