1

我正在编写一个 Struts 2 应用程序。在视图中,我有一个触发动作的按钮。该操作调用 Runtime.exec 来启动一个进程。此过程创建一个套接字,通过该套接字发送状态更新(以简单的分隔文本字符串的形式)。我希望这些状态更新反映在视图中。

我知道如何在服务器端编写一个套接字,但是我根本不清楚在哪里合并它以及当客户端在套接字上发送数据时如何更新 JSP。

我应该在哪里放置服务器套接字:在侦听器线程中还是在启动进程的操作类中?

一旦我有了状态更新,更新页面的最佳方式是什么?

另外,我想在不刷新页面的情况下进行更新——我打算为此使用 AJAX。

4

2 回答 2

1

我无法让它与 Struts 2 一起使用,因为过滤器不能很好地与我最终使用 Atmosphere 构建的 servlet 配合使用。基本上我在这里使用了 Meteor pub 示例,并修改了 servlet 以适应我们的应用程序。

此外,dojo 工具包支持 websockets。我没有对此进行测试,但看起来它也可能是一个解决方案。

于 2013-02-19T21:09:02.763 回答
1

看看我在 jboss 应用服务器https://github.com/harrybabu/struts2-cometd上使用 cometd 和 struts2 构建的示例。希望能帮助到你...

于 2013-02-25T07:06:20.947 回答