SpringMVC中获取请求参数

SpringMVC获取请求参数

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

你可能感兴趣的:(spring)