我有一个jsp说index.jsp它有一个表单,用户在其中输入详细信息。我使用one.servlet检索输入的详细信息,并验证输入的详细信息。
接下来我必须将这些值传递给另一个jsp,例如results.jsp,它会显示网页中的结果并要求确认。在这一点上,我想知道使用session或setattribute是否是一个好习惯?
此外,result.jsp会将这些详细信息发送到另一个名为two.servlet的servlet,它将这些值存储在数据库中。
所以我想知道使用会话是否会帮助我完成任务
答案 0 :(得分:0)
我可以理解你的问题,但我认为你不需要两个单独的servlet(一个用于验证,另一个用于保存),而在进行验证后你可以将它保存在db上然后你可以在结果中显示结果.jsp通过会话或查询字符串
答案 1 :(得分:0)
最常见的模式如下:
如果你想添加一个确认阶段,你应该把它放在中间:
第二种模式的难点在于您必须将输入数据传递给最终的servlet。会话是一个选项,但如果用户采取任何其他操作,您必须始终从会话中删除陈旧数据,例如直接从URL栏(或从其收藏夹)将URL传递到应用程序的另一部分。即使它使用更多带宽,我也优先在隐藏字段中传递所有相关数据。
由于它更复杂,并且在用户首先点击提交按钮之后,通常会省略确认阶段。我真的需要它,你可以看看Spring WebFlow等专用框架。
但我必须承认所有这些只是我喜欢的方式......
(*)此POST重定向GET模式避免了浏览器询问用户是否要在按下后退箭头时再次发送数据