ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringMVC 获取请求数据

2022-02-20 23:01:33  阅读:144  来源: 互联网

标签:请求 SpringMVC 数据类型 获取 参数 转换器 上传


如果你是小白,这套资料可以帮你成为大牛,如果你有丰富开发经验,这套资料可以帮你突破瓶颈
2022web全套视频教程前端架构 H5 vue node 小程序 视频+资料+代码+面试题.

SpringMVC 获取请求数据

获取请求参数

  • 客户端请求参数的格式时键值对的形式 :name=value&age=value…
  • 服务端获取请求参数,有时需要进行数据的封装,SpringMVC可以接收如下类型的参数
    1. 基本参数类型
    2. POJO类型的参数(简单的java Bean)
    3. 数组类型参数
    4. 集合类型参数

获取基本数据类型

  • Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配。

在这里插入图片描述

获取POJO数据类型

    • Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配。

在这里插入图片描述

获取数组数据类型

    • Controller中的业务方法数组名称与请求参数的name一致,参数值会自动映射匹配。

在这里插入图片描述

获取集合数据类型

在这里插入图片描述

  • 获得集合参数时,要将集合参数包装到一个POJO中才可以。

在这里插入图片描述

  • 当使用ajax提交时,可以指定contentType为json形式,那么在方法参数位置使用@RequestBody可以直接接收集合数据而无需使用POJO进行包装。

封装的对象文件
在这里插入图片描述
ajax请求
在这里插入图片描述
引入外部静态资源
在这里插入图片描述

访问静态资源

两种写法在这里插入图片描述

请求数据乱码问题

  • 当post请求时,数据会出现乱码,我们可以设置一个过滤器来进行编码的过滤。

在这里插入图片描述

参数绑定注解@requestParam

  • 当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示的绑定。

  • 注解@RequestParam还有如下参数可以使用:

    1. value:与请求参数名称
    2. required:此在指定的请求参数是否必须包括,默认是true,提交时如果没有此参数则报错
    3. defaultValue:当没有指定请求参数时,则使用指定的默认值赋值

在这里插入图片描述

获取Restful风格的参数(@PathVariable注解进行占位符的匹配获取工作)

  • Restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。
  • Restful风格的请求是使用“url+请求方式”表示一次请求目的的,HTTP 协议里面四个表示操作方式的动词如下:
    1. GET:用于获取资源
    2. POST:用于新建资源
    3. PUT:用于更新资源
    4. DELETE:用于删除资源

在这里插入图片描述

自定义类型转换器

  • SpringMVC 默认已经提供了一些常用的类型转换器,例如客户端提交的字符串转换成int型进行参数设置。
  • 但是不是所有的数据类型都提供了转换器,没有提供的就需要自定义转换器,例如:日期类型的数据就需要自定义转换器。
  • 自定义类型转换器的开发步骤:
    ① 定义转换器类实现Converter接口
    ② 在配置文件中声明转换器
    ③ 在中引用转换器

注册注解在这里插入图片描述
日期转换工具在这里插入图片描述

获取Servlet相关API

SpringMVC支持使用原始ServletAPI对象作为控制器方法的参数进行注入,常用的对象如下:
1. HttpServletRequest
2. HttpServletResponse
3. HttpSession

在这里插入图片描述

获取请求头

@RequestHeader

  • 使用@RequestHeader可以获得请求头信息,相当于web阶段学习的request.getHeader(name)
  • @RequestHeader注解的属性如下:
    1. value:请求头的名称
    2. required:是否必须携带此请求头

@CookieValue

  • 使用@CookieValue可以获得指定Cookie的值
  • @CookieValue注解的属性如下:
    1. value:指定cookie的名称
    2. required:是否必须携带此cookie

在这里插入图片描述

文件上传

文件上传客户端三要素

1. 表单项type = ”file“
2. 表单提交方式是POST
3. 表单的enctype属性是多部份表单形式,及enctype = ”multipart/form-data“

单文件上传原理

在这里插入图片描述

单文件上传步骤

导入fileupload和io坐标
在这里插入图片描述
配置文件上传解析器
在这里插入图片描述
编写文件上传代码
在这里插入图片描述
在这里插入图片描述

上传至本地磁盘

在这里插入图片描述

多文件上传

在这里插入图片描述

总结

在这里插入图片描述

标签:请求,SpringMVC,数据类型,获取,参数,转换器,上传
来源: https://blog.csdn.net/m0_54803634/article/details/123037486

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有