从Jsp页面插入表中的冗余数据

时间:2014-07-20 09:04:55

标签: jsp back-button browser-refresh cross-page-postback

我有一个jsp页面,在填写该页面后,它会转到另一个只读的报告页面。在第一个表单上单击提交,它将转到第二个报表页面并将数据保存到数据库中。我在报告第二个表单上有后退按钮,或者我刷新页面报表,它在数据库中保存相同字段的副本。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

有很多方法可以解决这个问题

会话令牌 使用会话令牌来确定是否已经处理了导致初始提交的表单。

<强>重定向 使用重定向而不是直接从执行您不想复制的操作的servlet转发到视图。

例如:假设在插入行之后,您希望显示一个显示该行所代表的实体的页面。在插入servlet中,您将执行SQL插入操作,但之后您不会直接进入显示页面。您将重定向到将获得插入结果的servlet,然后该servlet转发到显示页面。 这样,刷新后,所有发生的事情都是servlet重新获取记录并显示它。不会发生多次插入。