2013-04-22 45 views
3

在我们的Web应用程序中,我们有不同的选项供用户选择。取消以前的请求服务器端

如果用户执行了不同的选择/选项,则将为每个选择/操作向服务器发送请求,并在UI中显示响应。 如果用户按顺序执行多个操作,则所有请求将分别发送到服务器。 我们希望在服务器端收到新请求时取消所有先前的请求。

当前我们正在为每个请求创建新线程,并且在收到新请求时,将取消该特定用户的所有旧请求。请告诉我们,如果这是正确的方式,或者如果有更好的方法。

+1

如果是关于重要的请求并已被解决,这是一个正确的方法。但如果还没有解决,最好不要。当然,它是什么样的请求 – Kasnady 2013-04-22 05:02:24

+0

@Suman **如果用户按顺序执行多个操作,则所有请求都会单独发送到服务器。**如果以上不是您的要求。在用户界面上限制多次发布。根据servlet规范,不推荐手动线程处理。 – VKPRO 2013-04-22 05:57:09

+0

它是我的需求的一部分,因为我们不会当用户停止操作时,服务器应该返回上次操作的结果 – dsr301 2013-04-22 06:16:47

回答

0

如果您试图取消对tomcat的请求,那可能很困难。但是,如果您使用ajax向服务器提交请求,则可以在客户端中止请求并发送新的请求。这一切都假设请求是幂等的。

+0

问题是取消已在服务器上运行的请求。 Ajax只能忽略服务器响应,不能取消。 – 2013-04-22 05:40:53

+0

如果您的服务器状态随着每个呼叫而改变,那么您遇到了麻烦。 – 2013-04-22 05:44:15