【问题标题】:Servlet with Asynchronous method, servlet side event带有异步方法的 Servlet,Servlet 端事件
【发布时间】:2014-08-15 23:08:58
【问题描述】:

我有一个实现类的 servlet。 该类告诉我的 servlet 实现一个异步 messageReceived 方法。

messageReceived 方法不时被与服务器容器不同的进程调用。如何将响应发送回客户端以指示此方法已被调用。

我能够使用 doGet 方法实现 HTML5 servlet 发送事件并向客户端发送响应,但是如何返回指示调用 messageReceived 方法的响应。

抱歉,如果我不清楚,我会在有时间时添加一些代码示例。

【问题讨论】:

  • 服务端无法通知客户端,检查方法状态由客户端负责。只需将结果放在服务器的某个位置,并使用一些 JavaScript/AJAX 编程以固定的时间间隔从客户端持续 ping,一旦找到结果然后停止 ping。
  • 谢谢,是的,我会这样做。我试图设置 websocket 或服务器端事件,但它给我带来了问题。

标签: servlets server-sent-events


【解决方案1】:

用户 user3218114 关于轮询服务器的回答可能是最简单的方法。调用异步方法时,我使用上下文临时存储值。然后当 dopost 方法被 ajax javascript 调用轮询时,它会从上下文中检索值。

我还研究了Websockets in Tomcat 8Server side events,它们可能也可以解决这个问题,但由于时间限制,我无法让它工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多