SpringMVC的请求
一.获得参数
1.获得基本类型参数
Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配
2.获得pojo类型参数
Controller中的业务方法的POJO参数属性名要与请求参数的name一致,参数值会自动映射匹配
3.获得数组型参数
Controller中的业务方法的数组名称要与请求参数的name一致,参数值会自动映射匹配
4.获得集合类型参数
获得集合参数时,要将集合参数包装到一个POJO中才可以
当使用ajax提交时,可以指定contentType为json形式,那么在方法参数位置使用@RequestBody可以直接接受集合数据而不需要POJO类进行包装
5.请求数据乱码问题
post请求数据出现乱码,可以设置一个过滤器进行编码的过滤
6.参数绑定注解@requestParam
当请求的参数名称与Controller的业务参数名称不一致时,就需要通过@RequestParam注解显示的绑定
value:请求参数名称 required:在指定的请求参数是否必须包括,默认为true。 defaultValue:没有指定请求参数时,使用指定的默认值赋值
7.获得Resultful风格的参数
Resultful风格的请求是使用"url+请求方式"表示一次请求目的
8.自定义类型转换器
SpringMVC默认提供了一些常用的类型转换器,但是有些数据类型需要自定义转换器,例如:日期类型的数据
自定义转换器步骤:1.定义转化器类实现Converter接口 2.在配置文件声明转换器 3.在<annotation-driven>中引用转换器
9.获得Servlet相关API
SpringMVC支持使用原始ServletAPI对象作为控制器方法的参数进行注入
常用ServletAPI:HttpServletRequest HttpServletResponse HttpSession
10.获取请求头
①@RequestHeader 属性:value:请求头的名称 required:是否必须携带此请求头
11.文件上传
①文件上传客户端三要素
表单项type="file"
表单的提交方式是post
表单的enctype属性是多部分表单形式,及enctype= "multipart/form-data"
②单文件上传步骤
导入fileupload和io坐标,配置文件上传解析器,编写文件上传代码