SpringMVC中获取请求参数

SpringMVC获取请求参数

1.通过request对象获取
在SpringMVC的注解开发中,可以选择性的接收Request和Response对象来使用,可以用request对象来获取请求参数:
在这里插入图片描述
2. 直接接收请求参数
可以在Controller方法中直接接收请求参数相同名称的方法形参,可以直接得到请求参数的值
在这里插入图片描述
3.请求参数中的名称和属性名不同的处理@RequestParam
可以通过@RequestParam来修饰Controller方法中用来接收请求参数的形参,有如下属性可以配置:
value: 参数名字,即入参的请求参数名字,如value=“delId”表示请求的参数区中的名字为delId的参数
的值将传入 ;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报400错误码;
defaultValue: 默认值,表示如果请求中没有同名参数时的默认值。
value来指定 将那个请求参数赋值给当前形参
将required声明为true,则请求参数中必须有该属性,如果没有客户端将受到400
defaultValue可以设定当前形参的默认值
在这里插入图片描述
4.自动封装请求参数信息到bean
SpringMVC框架可以自动将请求参数封装到bean中,要求bean中必须提供属性的setXxx方法,
且bean的属性名和请求参数中请求参数的名字必须一致,才可以自动设置。
在这里插入图片描述
5. 处理复杂类型
如果自动封装的bean中存在复杂类型,只要该复杂类型的属性同样具有setXxx方法,则可以
在请求参数中包含[bean中复杂类型].[属性]的方式为该复杂类型的参数复制,从而实现自动
封装bean的过程中处理其中的复杂类型
在这里插入图片描述
6.请求参数中存在多个同名参数
如果请求参数中存在多个同名值
在这里插入图片描述
此时直接获取,会得到一个用逗号分隔的字符串
在这里插入图片描述
也可以修改Controller方法的形参为数组类型,则直接接收到一个数组
在这里插入图片描述
7.请求参数中的中文乱码
SpringMVC提供了过滤器用来解决全站乱码
在这里插入图片描述
这种方式只能解决POST提交的乱码,对GET方式提交的乱码无效!
此时只能手动进行编解码 解决GET方式请求参数乱码
在这里插入图片描述
也可以直接修改Tomcat中连接器的配置来使tomcat默认采用指定编码处理请求参数
但这种方式不建议大家使用,因为生产环境下不一定允许修改此项
在这里插入图片描述
8.日期数据的处理
在SpringMVC中解析页面提交的请求参数时,无法自动获取封装日期到Data。
如果想要实现自动封装,必须手动注册适配器自己来指定转换方式。
在这里插入图片描述
1)SpringMVC文件上传
a. 准备文件上传表单
文件上传表单必须满足如下三个条件 在这里插入图片描述
b.在配置文件中配置文件上传工具 在这里插入图片描述
c.在Controller中实现文件上传
在这里插入图片描述
9.路径动态数据的获取(RESTFul风格的请求参数处理)
1)RESTFul风格的请求:
普通get请求:
Url:localhost/XXXX/addUser.action?name=tom&age=18
RESTFul风格的请求:
Url:localhost/XXXX/addUser/tom/18.action
2)SpringMVC对RESTFul风格的请求的处理:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49307896/article/details/109081356