Servlet控制多个请求

时间:2009-08-05 07:35:03

标签: java servlets

当我点击一个调用servlet的链接时。 当我多次单击该链接时,servlet会抛出错误(错误详细信息并不重要) 虽然此修复还有其他工作(例如,一旦单击就禁用链接等) 我很好奇有没有办法控制这个通过请求/响应对象。

4 个答案:

答案 0 :(得分:3)

错误是相关的,对servlet执行不同的多次调用然后一个意味着您可能由于实现servlet的方式而出现线程安全问题

答案 1 :(得分:1)

servlet错误的细节可能很有趣。 servlet API通常不应该抛出错误,我的猜测是这是某种应用程序错误。

我尝试应用的一般原则是:

1)。我们构建UI以使用户难以两次无意地提交相同的请求(例如,借记我的帐户100英镑,真的不想发送两个这样的请求。这是一些nift javascript可以帮助的地方。

2)。我们构建应用程序以防止意外的双重请求,例如通过在允许发现重复的请求上包含某种标识符。

我们假设用户界面是完美的,我们的业务应用层负责防止双重操作。

答案 2 :(得分:1)

错误确实非常重要。

你可能遇到线程安全问题,但你也可能遇到“竞争条件”,也就是说,进程的结果取决于执行顺序,其中一个可能会给你一个错误。

(竞争条件:http://en.wikipedia.org/wiki/Race_condition

答案 3 :(得分:0)

进入servlet时在servlet会话范围内设置一个标志,并在离开时重置它。如果在输入时设置了标志,则静默忽略。

您的servlet中需要进行错误处理,因此ServletException不会保留标志。