【发布时间】:2011-08-30 17:37:54
【问题描述】:
在我的 Web 应用程序中有一个页面,用户可以在其中发布消息。问题是用户总是必须单击“获取消息”按钮才能查看自用户开始查看页面以来其他用户发布的消息。因此,用户正在查看的信息仅在他再次单击“获取消息”按钮时是最新的。我如何在 JSF 2.0 中实现当其他用户删除、插入或更新消息时,其他用户可以直接看到这些更改。有人可以说我想完成类似 Facebook 应用程序所做的事情:如果有人发布新信息,他的“朋友”可以直接在他们的提要中看到它,而无需按下按钮。任何帮助将不胜感激。
我正在使用 JSF 2.0 和 GlassFish Server。
【问题讨论】:
-
使用 HTTP,不允许服务器与客户端创建连接。只有客户端才能发出请求,这意味着您可能需要在后台运行某种 javascript 线程,它会不时查询新消息。就在我的脑海中,我认为您需要在客户端保留一个时间戳,当您查询服务器时,该时间戳用于检查服务器是否包含较新的消息。如果时间戳已更改,则您对新消息执行 AJAX 请求。
标签: java jsf-2 multi-user