重新加载网页再次调用代码

时间:2013-02-03 18:43:38

标签: jsp java-ee

我正在使用JSP和servlet开发一个Web应用程序。

在我的JSP中,我有几种形式,例如以下

<form method="post" action="quotation">
<input type="submit" name="addStep" value="Add a Step" class="noLabel" />
</form>

我正在使用表单的“name”属性来在我的servlet的doPost方法中知道我应该调用哪些代码。

问题如下:

  • 我将jsp加载到我的网络服务器
  • 点击表格上的“添加一步”按钮=&gt;正确的代码已应用
  • 如果我按下地址栏上的“输入”重新加载网页,则会再次应用相同的代码,因为我猜不会在Http请求中重置addStep属性

您是否知道如何重置请求attribut(此处为addStep)以防止此行为发生?

这是doPost方法:

protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    request.setAttribute(DATABASE_ATT, databaseData);
    this.getServletContext().getRequestDispatcher(VIEW)
            .forward(request, response);

}

1 个答案:

答案 0 :(得分:0)

发布后,将(使用HttpServletResponse.sendRedirect())重定向到显示表单的页面,以便刷新只会重新加载包含表单的页面,而不是重新提交表单。

请参阅http://en.wikipedia.org/wiki/Post/Redirect/Get

相关问题