java jsp网页缓存POST请求

时间:2015-12-03 15:34:11

标签: java

我有 JSP 页面,其中包含用户注册表单并添加提交按钮:

<input type="submit" name="action" value="add"/>

表单方法是 POST 。我的问题是,当我填写表单时,按下添加 - 一切正常 - 用户已添加,但是当我按下刷新页面时 - 发送相同的 POST 请求, PSQL异常抛出(dublicate用户),我的应用程序停止工作(因为我这样配置)。我的问题是如何禁用这种行为 - 这意味着当我按下刷新时,我会得到空页。

1 个答案:

答案 0 :(得分:1)

正如@kryger所说 - Post/Redirect/Get就是你的模式。

主要思想是在POST后重定向浏览器以使用GET加载下一页。这样,如果刷新浏览器/重新加载页面,则重新加载将在GET上发生 - 这是安全的。

在JSP中,重定向可能有点棘手 - 如果你没有任何Servlet,或者你需要确保

response.sendRedirect("pagetoget.jsp"); 
return; 
在提交响应之前(在写入任何字节之前)调用

。如果您单独使用JSP和JSP,则应该通过使用&lt;%启动jsp并在开头执行该代码来实现此目的。