首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Java SE 六 新特性: Web 服务

2012-11-07 
Java SE 6 新特性: Web 服务使用 apt 编译 Hello.java,产生辅助文件:发布 Hello Web service:Java SE 6 SD

Java SE 6 新特性: Web 服务

使用 apt 编译 Hello.java,产生辅助文件:

发布 Hello Web service:

Java SE 6 SDK 内嵌了一个轻量级的 HTTP Server,方便开发者验证简单的 Web service 功能。通过以上三步,一个 Web service Endpoint 就部署完成,下面将开发一个调用 Hello 服务的客户端。

    为 Web 服务的客户端产生存根文件:

    开发,编译,运行 Web 服务客户程序。清单 10 给出了使用 Hello 服务的客户程序。



    清单 10. 使用 Hello 服务的客户程序

可 以说在 Java SE 6 SDK 中,Web 服务的开发过程被大大简化了。原来开发中需要手工重复劳动产生的文件,可以使用工具自动生成。比如 WSDL 文件可以自动生成,和 WSDL 绑定的 Java 对象也自动生成,部署(本文仅指 JDK 提供的轻量 HTTP server 部署环境)也大大简化。这些全部归功于 JDK 6 中引入的一些新的 JSR 实现,即一些 API 和工具。表 2 给出了 JDK6 中为 Web 服务 API 提供支持的包。


表 2. JDK 中提供 Web 服务 API 支持的包

    运行命令 xjc workcontactinfo.xsd。将会在当前目录下生成一个 generated 子目录。运行命令 javac generated\*.java,编译所有生成的 Java 文件。操作生成的 Java 对象。清单 12 给出了一个操作生成的 java 对象的例子。要注意,一定要先将 JAXB Reference Implementation jar 放到 classpath 中。

清单 12. 调用生成的 Java 对象

回顾一下 Web 服务的 WSDL 文件,如 图 5 所示,是一个符合 W3C XMLSchema 规范的 schema 文件,以及整个过程中生成的 Java 类,我们应该能更好的理解 Web 服务开发,部署,使用的全过程。首先 JDK 6 提供的工具 apt 根据 Web Service EndPoint 中相关的注释生成一些与 WSDL schema 绑定的 Java 类。察看这些类可以发现,它们与 JAXB 例子中 generated 目录下生成的 Java 文件十分相似。接着通过 HTTP 服务将这个 WSDL schema 文件发布出来。然后通过 wsimport 工具,生成一个 Web 服务的客户运行时代理,相当于 清单 12 的功能。最终 Web 服务的用户程序同运行时代理交互,该代理生成并传递形式如 清单 13 的 XML 数据文件。图 10 结合 表 2 给出了 Web 服务开发到使用整个周期的工作流和涉及到的 JDK 包。


图 10. Web 服务开发部署流程中 XML 技术的应用
Java SE 六 新特性: Web 服务

Java SE 六 新特性: Web 服务
Java SE 六 新特性: Web 服务
Java SE 六 新特性: Web 服务回页首

总结

比 较前一个版本的 JDK,新版本对 XML 处理技术进行了扩展。包括新加入的 StAX 和 JAXB。基于这些新的 XML 数据处理技术,JDK 6 对 Web 服务的支持也得到了大大的增强。这些增强体现在引入了一些注释和 API,增加了更多的工具,可以自动化大部分开发和部署的工作。对于 XML 应用开发者来说,有更多更有力地技术可以选用。对于 Web 服务提供者来说,开发工具更为强大,开发流程更为简化,工作效率得到提高。而对于 Web 服务的使用者,更多的底层细节被屏蔽。可以说,新版 JDK 在对 XML 相关应用开发上的支持,较前一个版本有了很大提升。

热点排行