1

这是我的表单将数据发布到 servlet 的场景,servlet 作为回报对 db 进行更改并将对象附加到请求属性并转发到 JSP 页面。

现在的问题是,如果单击 JSP 上的刷新按钮,则流程会循环返回,并且由于它是转发,因此 servlet 重新输入数据。我实际上可以通过重定向而不是从 servlet 转发到 jsp 页面并将对象作为属性附加到会话而不是请求来解决这个问题。

但我想知道是否有更好的方法来做到这一点?

我不想存储我在会话中遇到的所有内容,有没有办法知道这是否是一个刷新事件?

4

1 回答 1

0

可以使用 发布数据GET or POST。如果GET方法被刷新,which is idempotentbrowser automatically makes request to the server

但是,如果方法是POST, which is non-idempotent, the browser will raise a popup asking the user to really post the data and this may repeat the operation again.

如果您使用的是 GET,那么我建议将其更改为 POST。

但最好的解决方案是 POST + REDIRECT + GET。

于 2012-06-07T14:10:25.693 回答