我正在尝试通过已存储在地图中的用户的 servlet 响应对象向在线用户发送消息。例如,如果用户 A 要向 B 发送消息,那么我将从 A 的请求对象获取数据并将其写入 B 的响应对象(来自地图)。我正在尝试避免定时ajax调用。任何建议和帮助。我在重新加载 jsp 页面时收到消息。我们可以在 jsp 中有对象侦听器吗?
问问题
258 次
3 回答
1
恕我直言,servlet response
当方法终止时,它将被发送回客户doGet or Post
端,它不会等待您asynchronous call
(从 A 获取数据的时间)完成。
你可能会遇到问题"response alredy has been committed"
于 2013-05-01T07:18:07.327 回答
0
如果用户 A 要向 B 发送消息,那么我将从 A 的请求对象获取数据并将其写入 B 的响应对象(来自地图)。
A 的请求对象和 B 的响应对象将位于运行 Servletservice()
方法的不同线程中。我认为您可能需要将使用 A 的请求发送的数据存储在某些应用程序上下文中,并使用 AJAX 或当用户 B 将其推送到 B发出请求,从上下文中获取数据并将其发送给 B 的响应。
于 2013-05-01T07:24:36.663 回答
0
不要这样做——不要混合来自不同 servlet 调用的请求和响应。使用 Ajax 或使用 javascript 或类似的东西定期刷新。您可以使用 Comet(服务器推送),但 Ajax 或刷新对于您的用例来说是很自然的。(除非您有其他未分享的担忧)
于 2013-05-01T08:13:52.930 回答