我正在尝试确定JavaFX2对项目的适用性。我听过很多精彩的事情,但是却努力将这个事实从虚构中分离出来,并希望蜂巢的头脑可以发光。
该项目是一个在服务器(Linux,Windows)上不断运行的java守护程序,其用户界面可用于访问配置和查看生成的数据。我想做的是用户连接到服务器并下载并运行JavaFX程序,能够通过REST调用连接到服务器(例如)。
是否可以运行此纯Java服务器,只需将JavaFX应用程序打包下载?服务器环境是否影响JavaFX是否会运行?我是否必须运行某种形式的网络服务器(Jetty?)来实现这一目标?
我很欣赏这个问题很模糊 - 我发现一些术语很棘手,所以我会根据需要进行编辑和改进。谢谢你的时间
答案 0 :(得分:4)
是否可以运行此纯Java服务器,只需将JavaFX应用程序打包下载?
是。 有关打包选项和说明,请参阅JavaFX deployment quick start和deployment guide。
服务器环境是否影响JavaFX是否会运行?
不,JavaFX仅在不在服务器上的客户端上运行。
我是否必须运行某种形式的网络服务器(Jetty?)来实现这一目标?
可能。 您需要有一些方法将JavaFX应用程序提供给客户端。
您可以通过电子邮件将JavaFX应用程序通过电子邮件发送给客户,或通过网络文件副本将其放在客户端上,但在网络服务器上托管应用程序可能是最好的方法。任何http服务器都可以用于此目的(例如,apache httpd,tomcat,jetty作为独立服务器或嵌入在您应用中的服务器运行)。
您需要有一些方法让JavaFX应用程序与服务器通信。如果使用REST调用进行此通信,那么您可能使用http作为底层客户端/服务器通信协议,在这种情况下,您无论如何都需要运行Web服务器来处理来自客户端的传入REST调用。
答案 1 :(得分:0)
我想做的是用户连接到服务器并拥有 下载并运行JavaFX程序,能够连接到 服务器通过REST调用(例如)。
您应该关注关键字JavaFX
,REST
和enterprise
。有几个使用RESTful Web服务方法的示例。 JavaFX可以通过Java Web Start启动。但是,如果您计划使用Java Web Start,我认为您没有理由使用http有线RESTful Web服务。看起来没有一种标准化的方法可以将JavaFX Web启动应用程序打包到EAR包中,并让他使用依赖注入服务器端资源。但是,如果您打包一个常规Java SE应用程序并让该应用程序启动JavaFX应用程序并将代理对象转发到您的后端资源,则是可能的。这是我用仅使用NetBeans向导和一些次要代码自定义的解决方案编写的教程:
http://blog.martinandersson.com/the-enterprise-side-of-javafx-the-missing-part/