2.4 @RequestBody
@RequestBody注解用来获取请求体的值
2.5 @RequestAttribute
@RequestAttribute用来获取request域的值,两种获取方式:①直接@RequestAttribute注解 ②HttpServletRequest对象的getAttribute方法。这个注解无法使用map获取所有的值
2.5 @RequestAttribute
使用session.set(k, v)设置的属性值存储在session中,而每个用户都有其唯一对应的jsessionid保存在cookie中,每次发送请求cookie都会携带这个jsessionid,服务器通过jsessionid解析出session对象之后再调用get(k)方法获取对应的属性值。
但是现在有这么一个情况,在页面开发的时候禁用了cookie(相当于session也失效了),这个时候怎么获取属性值?通过url重写使用矩阵变量的方式进行传递。使用该方法需要有以下两步:
第一步: SpringBoot默认禁用矩阵变量
,可通过自定义配置类向容器注册WebMvcConfigurer组件替代默认的组件来开启矩阵变量第二步: 分单矩阵和多矩阵两种用法
3 方法参数小技巧
3.1 复杂参数属性值
方法中有时会传入一些复杂的参数,比如Map、Model、request、response等,其中前三种参数的设置的属性值数据都会存放在request请求域中。接下来使用代码证实一下这个说法:
3.2 自定义参数实现数据绑定
页面提交的请求数据(GET、POST)都可以和自定义对象参数的属性(也就是POJO类的参数)进行绑定