也许这个问题有点误导,但我会解释我的需要:
我想要做的是等待servlet的doPost中的响应,直到数据到达并将此数据作为响应发送给客户端。
有什么想法吗?提前谢谢。
答案 0 :(得分:1)
Servlet 3.0有asynchronous support in servlets。这样,您就可以在Servlet中执行长时间运行的任务。
但是,请确保您的浏览器对服务器的请求保持打开状态,直到将响应发送给客户端。
答案 1 :(得分:0)
我不会尝试在servlet中等待某些数据,直到它可用,然后再将其发回。
您必须回想一下,servlet是一个自己的线程中的执行,服务器从它管理的线程池提供该线程。所以想象一下,如果很多客户端几乎在同一时间发送这个POST
请求并且你的servlet开始出现问题,那么你的应用程序就可能会用完线程。
我会立即让POST
请求返回并有另一个ajax GET
请求,该请求轮询servlet以获取数据。您可以使用javascript的setInterval()来实施轮询。