在我的应用程序中,我有许多不同的具有多个阶段的 JSP 表单,即在每个阶段之后,请求被发送到 Servlet 并被处理以生成下一个表单。问题是我需要保持这些表单的状态(比如在 JSF 中自动完成),这样用户就不必每次进入错误页面或导航回重新输入时输入所有数据他想要改变的东西。
最好的方法是什么:
1)将所有数据存储在会话中,并在用户提交表单的最后阶段后将其删除。
2)将其全部存储在请求范围内,并在每次用户导航到不同页面时进行读/写。但是,这似乎不合逻辑,因为如果我保存第 1 阶段并在第 4 阶段需要它的数据,我必须在使用会话范围时读取/写入 3 次而不是仅 1 次,并且每次数据量是读/写增加。