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

相关推荐
sing~~1 小时前
SpringCloud的了解和使用
后端·spring·spring cloud
随风,奔跑2 小时前
Spring Cloud Alibaba(六)-链路追踪SkyWalking
java·后端·spring·skywalking
云烟成雨TD2 小时前
Spring AI 1.x 系列【30】向量数据库:核心 API 和入门案例
java·人工智能·spring
敖正炀2 小时前
Spring 深度内核-核心容器与扩展机制-SpringFactoriesLoader 到 AutoConfiguration.imports:插件化演进
spring
敖正炀2 小时前
Spring 深度内核-核心容器与扩展机制-类型转换与数据绑定体系:ConversionService、PropertyEditor
spring
空中海3 小时前
Spring Cloud第三篇:通信篇 — OpenFeign 与负载均衡
spring·spring cloud·负载均衡
JAVA面经实录9174 小时前
Spring AI 高频开发万能 Prompt 合集 + 生产级工具类
java·人工智能·spring·prompt
JAVA面经实录9174 小时前
如何选择适合项目的「限流 / 熔断 / 降级」方案
java·spring·kafka·sentinel·guava
曹牧14 小时前
Spring:@RequestMapping注解,匹配的顺序与上下文无关
java·后端·spring
Cry丶17 小时前
架构师实战:Spring Authorization Server 落地企业级“无感” SSO(附设计映射与源码级接口剖析)
spring·spring security·oauth2.0·authorization·sso·无感登录