6.9.1 FlashMapManager初始化(FlashMapManager重定向管理) -《SSM深入解析与项目实战》

本文介绍了Spring的FlashMapManager,用于解决POST/Redirect/GET模式下防止表单重复提交问题。FlashMap临时存储数据,避免重定向时数据丢失。文章详细讲解了FlashMapManager的初始化过程,包括默认实现SessionFlashMapManager,并分析了其核心方法retrieveAndUpdate和saveOutputFlashMap。最后,讨论了这两个方法的调用时机。
摘要由CSDN通过智能技术生成

6.9 FlashMapManager重定向管理

FlashMapManager是用于检索和保存FlashMap实例的策略接口。

Spring3.1之后引入了一个叫做Flash Attribute的功能,主要就是为了解决表单重复提交数据的问题,应用POST/Redirect/GET(PRG)模式来防止重复提交数据(表单通过HTTP POST请求提交之后,用户在服务器端返回之前刷新了响应的页面,会导致原始的表单内容重复提交,可能会导致一些难以预料的结果)。

所以采用重定向请求到成功页面,这样用户进行刷新不会进行提交表单,而是加载新的GET请求。但是重定向会引入无法传递请求参数和属性的问题,所以Spring的Flash Attribute就是为了请求重定向之前,解决临时存储的问题。

FlashMap为一个请求提供方法用于存储在另一个请求中使用的数据属性。

当从一个URL重定向到另一个URL时,FlashMap将会在重定向之前将请求数据保存(通常保存在Session中),并且在重定向时将数据写入请求中,并且在重定向后立即将原来保存在Session中的请求数据删除。而FlashMapManager便是用来管理FlashMap的。

6.9.1 Flash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谙忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值