如何从JavaFX应用程序进入RESTful网络服务

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 04:52:56 计算机应用能力考试
如何从JavaFX应用程序进入RESTful网络服务计算机应用能力考试
【网络综合 - 计算机应用能力考试】
JavaFX 是 Sun微系统公司推出的一套基于 Java 技术的产品家族,其目的是为从桌面机、移动设备提供一致的用户体验。它与最新版本的Java SE Runtime Environment (JRE) 和 Development Kit (JDK)绑定,并且有可以直接调用Java API的能力。
  虽然JavaFX Script 运用类似Java 和JavaScript 的程序语言,但是最重要的还是要懂得区分JavaFX与Java的不同之处。在此特别之处的理解会对那些刚刚从事探究JavaFX 是RESTful 网络服务的invocation的Java开发者是有很大帮助的。
  这个十分钟的解决方案来演示如何从Java FX 调用RESTful 网络服务和如何得出结果。
  这是一个例子来展示如何命令一个提供航班离开和到达信息的RESTful网络服务到JavaFX的前端。对于服务器URL,这是删节的服务数据:
  < schedule>
  < flight>
  < number>101< /number>
  < time>11:08:45< /time>
  < direction>Departure< /direction>
  < carrier>USFlair< /carrier>
  < destination>TYS< /destination>
  < origin>ATL< /origin>
  < /flight>
  < /schedule>
  问题
  怎样从一个JavaFX应用程序呼叫RESTful 网络服务并且如何得出结果?
  解决方案
  调用一个GET RESTful网路服务方法并且把它的结果分析到JavaFX目标当中。
  定义一种容器数据结构
  开始,在一个Flight.fx文件中,定义一个与航班元素结构相对应的的JavaFX分类:
  public class Flight{
  public var number: String;
  public var time: String;
  public var direction: String;
  public var carrier: String;
  public var destination: String;
  public var origin: String;
  访问服务
  在一个主要的JavaFX应用程序(Main.fx)或在您的设计的地方,从一个运用JavaFX object HttpRequest (参见Listing 1)的函数loadFlightsSchedules调用一个RESTful网络服务。所有相关的特性和功能都在HttpRequest公布的范围之内被公布。
  说明的是网络服务的URL被指定为一个本地变量并且方法GET(虽然JavaFX支持PUT 和 POST)被指定为同样名字的变量。你可以用request.enqueue()执行网络服务呼叫;如果成功了,可以用方法onInput: function(input: java.io.InputStream).来处理结果。
  分析结果
  在功能onInput: function(input: java.io.InputStream)中,Listing 1处理的XML结果是从被激活FlightsParser的网络服务得来的。而FlightsParser它是一个JavaFX object javafx.data.pull.PullParser的自定义扩展名。PullParsers支持直接询问和基本的XML分析(与SAX分析器一样)。
  加载从分析过的XML原理到航班目标。你可以用目录2种的缩写码。
  完成
  这个快速10分钟的解决方案演示了如何运用 GET 方法来调用一个RESTful 网络服务和如何用最小的错误处理把它的结果分析到JavaFX目标当中。
  有关网络服务处理和解析其他数据类型的细节,参看JavaFX objects javafx.io.http, javafx.data.pull, 和 javafx.data.xml.
计算机应用能力考试