如何从JavaFX应用程序进入RESTful网络服务Java认证考试
文章作者 100test 发表时间 2009:04:30 06:30:20
来源 100Test.Com百考试题网
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.
更多优质资料尽在百考试题论坛 百考试题在线题库