使用cookie和servlet管理表单数据

时间:2011-04-04 15:36:50

标签: servlets cookies spring-mvc

我一直在检查有关Cookie数据持久性和回溯的信息。似乎cookie只能管理键值对,我想存储表单中的数据(如名称,描述,年龄,数量,性别等)。这可能吗?我看到了一些javascript的例子,但我不是很确定。

我正在使用spring mvc 2.5,它允许我访问HttpSeesion,HttpServletRequest和HttpServletResponse。

我已经完成了一些练习并重新存储了一个值。

我想尝试这种方式,因为此时从表单传入的数据由会话处理。并不总是清理会话。

1 个答案:

答案 0 :(得分:0)

将大型和/或用户敏感数据存储在cookie中是一种不好的做法。 Cookie完全暴露在公众面前,它们对可用存储空间有很大的限制。

而是自动生成一个冗长,独特且几乎不可能的暴力ID(java.util.UUID对此有帮助),将其存储在cookie中。最后,将此ID用作存储数据的服务器端的Map或SQL数据库中的密钥。这样,您就可以将所需数据与cookie中的ID相关联。


根据评论

更新,您的担忧结果是服务器内存使用情况(我最初了解到会话生命周期太短)。答案的第一段仍然存在:你真的不想这样做。这是一个安全漏洞,cookie空间非常有限。

关于实际问题:只需为服务器提供更多内存,或将其配置为在磁盘上存储会话,或者只是在会话范围内的密钥中手动将数据存储在数据库中。