Bha*_*kar 5 javascript eclipse ajax spring-mvc
我可以找到很多关于Long Polling如何工作的信息(例如,这个和这个),但没有关于如何在代码中实现它的简单示例.
基本上,我将如何使用Apache Tomcat来处理请求,以及如何编写一个简单的应用程序(spring),它会对服务器进行"长时间轮询"以获取新消息?
该示例不必是可扩展的,安全的或完整的,它只需要工作!如果有人能给我这样的教程或推荐任何其他教程,我将不胜感激.
这是我能想到的最简单的例子......
在控制器中:
@RequestMapping("/longPolling")
public String longPolling(Model model) {
while(true) {
// .. Do something, break when done...
if( somethingIsDone ) {
break;
}
}
return "someResponse";
}
Run Code Online (Sandbox Code Playgroud)
在调用此方法的视图中,您将设置一个 ajax 调用,并在超时时再次调用此方法。长轮询的想法是,服务器在有内容需要响应之前不会响应。
如果您使用 Spring 3.2,更好的方法是使用DeferredResult 或从处理程序方法返回 Callable。如果您是 Spring 3.2 之前的版本,那么您可以使用几个框架来提供帮助,例如 Atmosphere,它们可以与 Spring 很好地配合。有些甚至有 JavaScript 部分来简化客户端编码。
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |