如何阻止F5上传多个文件?

时间:2012-02-24 19:59:32

标签: java servlets request

我正在使用Servlet 2.5构建一个Web应用程序,我遇到了这样的需要,即用户无法单击按钮并执行操作,然后按F5 / Refresh并再次执行操作。

我已经考虑过两种方式来解决这个问题(但还没有真正考虑过这个问题;认为最好先问一下):

  • 当某项操作完成后,我会调用重定向,有效清除所有查询参数
  • 当一个动作完成后,我会添加一个随机散列并检查下一个条目是否已经改变? (不知道如何知道下一个动作是刷新还是实际的新请求)

或者使用Tomcat / etc或某些公共库有更简单/标准化的方法吗?

2 个答案:

答案 0 :(得分:3)

你的第一个想法是正确的。该模式称为redirect after post。如果您使用任何高级Web开发框架,它应该支持开箱即用。

您应该正确使用HTTP谓词。如果它是HTTP GET,则多次调用它应该没问题。

答案 1 :(得分:1)

我能看到的另一种技术是使用ajax的异步上传。 F5 /刷新按钮将无用,因为它将不再触发上传事件。

需要额外的JavaScript工作才能防止多次点击按钮(即隐藏按钮或禁用按钮)。

相关问题