簡體   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