快速业务通道

从XML到Java代码的数据绑定之四 从无用的字符到有用的代码段 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
使用 XML 配置文档来存储其数据。将该数据解包成 Java 对象允许 Web 服务将 XML 数据作为 Java 变量放到它的方法中。数据绑定使获取 XML 数据的过程变得简单且直接,不必处理 DOM 或者研究 SAX。

现在,让我们看看另一方面:关闭 Web 服务并存储数据。这很平常,服务在一个端口上启动,(例如)还有一个文档根和错误页面,然后它最终有许多数据字段的值改变了。用户管理服务,同时会做一些修改。但是,关闭服务器时不存储数据将使这些更改丢失。要将此数据放回到原来的 XML 文档中很简单,请使用清单 6 中显示的 Marshaller。

清单 6. 启动和停止 Web 服务 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import myApp.WebServiceConfiguration; public class WebService() { /** File to write configuration data to */ private File configurationFile; /** Configuration variables */ private WebServiceConfiguration config; public WebService(String configurationFile) throws IOException { this(new File(configurationFile)); } public WebService(File configurationFile) throws IOException) { this.configurationFile = configurationFile; } /** * Various mutator methods for configuration data would be included. * Each would "proxy" through and set the config object''s data. */ public void start() throws IOException { // Obtain the configuration config = Unmarshaller.unmarshal(configurationFile.toURL()); } public void stop() throws IOException { // Save the configuration object Marshaller.marshal(config, new FileOutputStream(configurationFile)); } }

可以看到,我将 Web 服务的初始配置移到 start() 方法。服务的构造器接受从中装入配置数据的文件。然后,构造器将数据保存到同一个文件中。在 stop() 方法中永久保存数据。另外,服务的所有数据都存储在 config(它存储服务使用的基本数据)中,而不必使用多个成员变量(如 portNumber 或 name)。这就是以后要永久保存的对象。除了使编写 start() 和 stop() 方法变得很简单(每个方法只有一行!),这个方法还允许 Web 服务存储其它本来就是“临时的”且无需永久保存的数据。

当然,类也许还包括了这里没有谈到的其它方法。但是,已经讨论的一些方法显示了装入和存储 XML 数据是多么简单,甚至不必知道 XML。那么,看了这个例子之后,还什么要讨论呢?只有一小部分代码更新,然后就完成了。

逐步发展的 API(续)

如果您认为所看到的内容是重复的,或者这个标题是从本系列第三部分中抄过来的,不用担心。正如 JDOM 从第二部分到上一篇文章的不断变化一样,从上一篇文章到本书中,它也不断变化着。实际上,最近发行了 JDOM Beta 5 -- 它与前一版本的区别很大。要实现这些改进的功能,数据绑定代码也要不断改变。幸好,从上一篇文章到本文中,代码中的许多更改都不是很重要,而您的老版本仍可以照常运行。但我还是建议您使用 参考资料 中的链接,获取各种数据绑定类的最新版本。我在本文的最后编辑阶段,已经用 JDOM 的最新版本(Beta 5)对它们进行了测试。所以,如果您手边是老版本的 JDOM,或者此代码的老版本,或者都是老版本,请利用这个机会升级到最新同时也是最棒的版本。

结束语

您已经通读了这四篇全面深入的数据绑定文章。如果您已经开始使用尖括号,并且不常使用空格,不必担心;这可以高级玩意!太好了,您已经开始看到这种方法的强大功能了,并且已经考虑如何在应用程序中使用数据绑定类了。下次您编写配置文件、分析 XML 文档语法或者从 Java 转

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号