快速业务通道

用Java技术创建RESTful Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
foApplication    </param-value>   </init-param>   </servlet>   <servlet-mapping>   <servlet-name>ContactInfoServlet</servlet-name>   <url-pattern>/*</url-pattern>   </servlet-mapping> </web-app>

用Java技术创建RESTful Web服务(9)

时间:2011-08-02 IBM Dustin Amrhein

在一个被认为是不能感知 JAX-RS 的 servlet 容器内,应该作为 servlet 定义内的 init-param 提 供 Application 子类名。init-param 的名字必须是 javax.ws.rs.Application。servlet 类则很可能是 JAX-RS 运行时系统 servlet。您可以列出每个可能的 URL 模式,或者使用 /* 通配符注册,如下所示。

清单 15. 能感知 JAX-RS 的 servlet 容器

<web-app id="WebApp_ID" version="2.5"   xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi=   "http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">   <servlet>   <servlet-name>ContactInfoServlet</servlet-name>   <servlet-class>    com.ibm.jaxrs.sample.organization.ContactInfoApplication   </servlet-class>   </servlet>   <servlet-mapping>   <servlet-name>ContactInfoServlet</servlet-name>   <url-pattern>/*</url-pattern>   </servlet-mapping> </web-app>

在一个被认为是能感知 JAX-RS 的 servlet 容器内,必须作为 servlet 定义内的 servlet 类元素的 值提供 Application 子类名。您仍然可以选择是列出每个可能的 URL 模式还是使用 /* 通配符注册。

以 Apache Wink 作为运行时的 JAX-RS

下一步是找到一个能够支持 JAX-RS 内的可用功能的运行时。Apache Wink 项目就提供了一个能满足 这种要求的运行时,具有上面所述的所有特性。起初,Wink 是由开源社区的多个厂商和成员发起的一个 协作项目。该项目的目的是提供最为灵活和轻量级的运行时。

除了标准 JAX-RS 特性之外,Wink 还提供了对 JSON、Atom 和 RSS 序列化格式的增强支持。JAX-RS 本身并不提供客户机 API,但 Wink 包括了其对客户机 API 的自身模型,并且是完全以资源为中心的。

为了简化基于 Wink 的服务的开发,可以下载 Wink 1.0 库并将它们作为默认 JAX-RS 库包括到 Rational Application Developer (RAD) 7.5.5 开发环境中。在这个更新版本中,RAD 添加了一个 JAX -RS facet,可供您进行配置以支持验证器和注释帮助。这个新的 facet 还能通过自动生成所需的 servlet 项和映射来简化 servlet 的配置。

结束语

与传统的 servlet 模型相比,JAX-RS 提供了一种可行的、更为简便、移植性更好的方式来在 Java 内实现 RESTful 服务。使用注释让您能够轻松提供 Java 资源的路径位置并将 Java 方法绑定到 HTTP 请求方法。一种可移植的数据绑定架构提供了一些本机的 Java 类型支持并允许进行序列化/反序列化处 理的完全定制。javax.ws.rs.core. Application 子类的扩展以及 web.xml 内的相应清单表明了用最少 的部署描述符配置就能进行轻松部署。

本文只涉及了 JAX-RS 所能提供功能的一部分。就提供应用程序上下文(比如 JAXBContext 实例)并 将运行时异常映射给 HTTP 请求而言,其他两个 JAX-RS 提供程序类型 ContextResolvers 和 ExceptionMappingProviders 还能提供对应用程序组件的进一步控制。注释的定义是为了控制方法参数和 类成员的注入,它们在运行时

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号