【问题标题】:How send a message from JSF to an application in Java?如何从 JSF 向 Java 中的应用程序发送消息?
【发布时间】:2012-01-26 16:15:29
【问题描述】:

我建立了一个.xhtml 页面,其中有一个按钮'turn on/off'。我想通过互联网从我的.xhtml 页面向我的应用程序(.java) 发送一条消息(on or off),该应用程序在另一个网络、另一台计算机上运行。

我想用sockets(客户端/服务器)来做这件事,但我想知道这是否是最好的方法。

有什么想法吗?

【问题讨论】:

  • JSF 是作为小程序运行的吗?您会将消息发送到 Web 服务器还是桌面应用程序?
  • 我更喜欢桌面应用程序,以避免使用浏览器、服务器(容器)和其他一切。
  • 这是一个非常广泛的问题。这也与 JSF 不完全相关,因此 JSF 的故事在这里无关紧要。您可以使用 main() 在普通 Java 应用程序中执行与 JSF 操作方法中相同的操作。您需要知道的第一件事:您需要(或希望)使用的通信协议是什么? HTTP?肥皂? XMPP? MQ?国产的?数据传输的数据格式是什么?应用程序/x-www-form-urlencoded? JSON? XML? CSV?国产的?然后相应地一步一步实施。
  • 我刚刚提到了 JSF @BalusC,因为它有很多我不知道的东西,也许它可以更轻松地提供帮助。我认为 TCP 是一个不错的协议选择,所以 socket 在这里更合适,你觉得呢?
  • TCP是一种网络协议,我更多的意思是通信协议。你似乎想朝着本土的方向发展。这将是很多工作。你宁愿寻找一些现有的标准。例如,如果您选择 HTTP,您可以在应用程序客户端中设置一个(小型)网络服务器(PHP?Servlet?)并在您的 JSF 代码中使用 URLConnectionHttpClient,就像您做的那样在一个普通的 Java 应用程序中。 JSF 只需在 action 方法中执行相同的代码。

标签: java sockets jsf jsf-2


【解决方案1】:

JSF 带有一个事件处理机制 (Event handling tutorial)。使用它来让按钮按下回服务器。然后在事件处理代码中,使用套接字或 JMS 队列或您想要的任何其他方式将消息发送到其他服务器。

【讨论】:

  • 嗯,仅在 JSF 操作方法中完成这项工作就绰绰有余了。无需重新实现/自定义整个事件处理机制。 OP应该很清楚这一点。还是您从未使用过 JSF?
  • 顺便说一句,我是stackoverflow的新手,“OP”的缩写代表什么?
  • OP - 原始海报。我同意,使用内置的事件处理就足够了。这是我推荐的 - 使用 JSF 机制从按钮处理事件。然后,在 JSF 事件处理程序中,与另一台计算机对话。
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
相关资源
最近更新 更多