SpringMVC框架 第4章 处理请求数据
第4章 处理请求数据
4.1请求处理方法签名
1) Spring MVC 通过分析处理方法的签名,HTTP请求信息绑定到处理方法的相应人参中。
2) Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。
e```````````````````````````````````````````````````````````````````````````````
4.5 使用POJO作为参数
4) Spring MVC 框架会将 HTTP 请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。
4.2 @RequestParam注解
1)在处理方法入参处使用 @RequestParam 可以把请求参数传递给请求方法
2)value:参数名
3)required:是否必须。默认为 true, 表示请求参数中必须包含对应的参数,若不存在,将抛出异常
4)defaultValue: 默认值,当没有传递参数时使用该值
4.2.1 实验代码
1) 增加控制器方法
4.3 @RequestHeader 注解
1 ) 使用 @RequestHeader 绑定请求报头的属性值
2) 请求头包含了若干个属性,服务器可据此获知客户端的信息,通过 @RequestHeader 即
- 可将请求头中的属性值绑定到处理方法的入参中
4.3.1 实验代码
4.4 @CookieValue 注解
1) 使用 @CookieValue 绑定请求中的 Cookie 值
2) @CookieValue 可让处理方法入参绑定某个 Cookie 值
4.4.1实验代码
1) 增加控制器方法
/
4.5 使用POJO作为参数
1) 使用 POJO 对象绑定请求参数值
2) Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:deptId、dept.address.tel 等
4.5.1实验代码
1) 增加控制器方法、表单页面
4) 如果中文有乱码,需要配置字符编码过滤器,且配置其他过滤器之前,
如(HiddenHttpMethodFilter),否则不起作用。(思考method=”get”请求的乱码问题怎么解决的)
4.6 使用Servlet原生API作为参数
1) MVC 的 Handler 方法可以接受哪些 ServletAPI 类型的参数
- HttpServletRequest
- HttpServletResponse
- HttpSession
- security.Principal
- Locale
- InputStream
- OutputStream
- Reader
- Writer
2) 源码参考:AnnotationMethodHandlerAdapterL866
3)
4.6.1 实验代码