繁体   English   中英

servlet处理请求时,如何让客户端知道发生了什么?

[英]how to let know the client what's going on while the servlet is processing the request?

我的Web应用程序包含JS / jquery作为前端,而servlets作为后端。 我正在向servlet发出请求,该servlet将在一个调用中完成很多事情(例如,它可能会调用将运行多个python脚本的shell脚本)。

我想我的问题是,有没有办法在servlet的doGet()方法返回之前通知客户端?

WebSocket有一个很好的机制,可用于服务器到客户端的通知推送。 您可以创建Ws端点,然后在客户端代码中对其进行订阅,然后将servlet的操作进度通知客户端。

我鼓励您研究ajax发布请求。 有一个叫做beforeSend的很好的功能,它可以让您通知用户“加载,处理,获取,执行”等等。 例如:

  $.ajax({
   beforeSend: function(){
     // Handle the beforeSend event
   },
   complete: function(){
     // Handle the complete event
   }
   // ......
 });

有关如何使用ajax调用处理事件的更多详细信息,请参考http://api.jquery.com/Ajax_Events/http://api.jquery.com/jquery.ajax/上的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM