java

位置:IT落伍者 >> java >> 浏览文章

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


发布日期:2024年01月09日
 
如何从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>< /number>

< time>::< /time>

< direction>Departure< /direction>

< carrier>USFlair< /carrier>

< destination>TYS< /destination>

< origin>ATL< /origin>

< /flight>

< /schedule>

问题

怎样从一个JavaFX应用程序呼叫RESTful 网络服务并且如何得出结果?

解决方案

调用一个GET RESTful网路服务方法并且把它的结果分析到JavaFX目标当中

定义一种容器数据结构

开始在一个Flightfx文件中定义一个与航班元素结构相对应的的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应用程序(Mainfx)或在您的设计的地方从一个运用JavaFX object HttpRequest (参见Listing )的函数loadFlightsSchedules调用一个RESTful网络服务所有相关的特性和功能都在HttpRequest公布的范围之内被公布

说明的是网络服务的URL被指定为一个本地变量并且方法GET(虽然JavaFX支持PUT 和 POST)被指定为同样名字的变量你可以用requestenqueue()执行网络服务呼叫;如果成功了可以用方法onInput: function(input: javaioInputStream)来处理结果

分析结果

在功能onInput: function(input: javaioInputStream)中Listing 处理的XML结果是从被激活FlightsParser的网络服务得来的而FlightsParser它是一个JavaFX object javafxdatapullPullParser的自定义扩展名PullParsers支持直接询问和基本的XML分析(与SAX分析器一样)

加载从分析过的XML原理到航班目标你可以用目录种的缩写码

完成

这个快速分钟的解决方案演示了如何运用 GET 方法来调用一个RESTful 网络服务和如何用最小的错误处理把它的结果分析到JavaFX目标当中

有关网络服务处理和解析其他数据类型的细节参看JavaFX objects javafxiohttp javafxdatapull 和 javafxdataxml

上一篇:JCA: Java步入应用集成时代

下一篇:Java Base64类库学习笔记