使用RESTlet框架开发符合JSR311规范标准的REST Web Service - 编程入门网
赖于 NRE)。包括 JAX-RS Extension,还有对 JSON 或是对 JAXB 的 Extensions。
JAX-RS 与 RESTlet API 的不同之处在于,在 RESTlet 下,REST 资源是结构化组织起来的,如 Component 可以包含多个 Application,Application 又可以包含多个 REST 资源,Component 到 Application,Application 到 REST 资源以 Route 来连接。这样,从 URI 到 REST 资源的定位就自上 而下进行查找。JSR311 下,REST 资源是 POJO 并且非结构化的,资源对应的 URI 通过 Annotation 直 接在 POJO 类里加以描述(这里不讨论 subresource 资源的定位)。相对来说,JAX-RS 描述能力简单, 开发起来更加方便。JAX-RS 所定义的 REST 框架,包括: Annotation:比如说在 HttpMethod 支持 @PUT,@POST,@DELETE,@GET 等等,或是 @QueryParam 可以 表示 GET 操作的查询参数等等。这些 Annotation 在 REST 资源所在的 POJO 类里被使用。 Application:JAX-RS 没有定义 Component 或是 VirtualHost,只是用 Application 来存放所有的 REST 资源。 HTTP 协议基础类:包括 CacheControl, Cookie 等等,这些类处理 HTTP 协议层的相关字段,这些类 的具体实现是以代理模式 (Delegation),通过 RuntimeDelegate 类来连接到具体实现的。 MessageBodyReader 和 MessageBodyWriter:这对接口的实现主要使用在 Provider。Provider 可以 用作 REST 相应体的序列化和反序列化。 RESTlet JAX-RS Extension 实现了 JAX-RS。主要的技术要点包括: internal.Provider:JAX-RS Extension 通过 MessageBodyReader 和 MessageBodyWriter,实现了 InputStream,Jaxb,ByteArray 等 Provider 的序列化和反序列化。 internal.spi:JAX-RS Extension 实现了 HTTP 协议基础类。 internal.exceptions:定义了 JAX-RS 抛出的异常。 JaxRsApplication:实现了 JAX-RS 的 Application 接口,并且包含 JaxRsRestlet。具体的工作是 在 JaxRsRestlet 中处理的。 JaxRsRestlet:包含了所有的 REST POJO 资源,在初始化时分析 REST 资源的 Annotation, 得到 REST 资源所对应的 URI,对应的接口以及其他相关信息。JaxRsRestlet 还包含了所有 Provider 的引用 和所有异常的引用。运行过程中,所有的 REST 请求被路由到 JaxRsRestlet,由该对象来选择合适的 REST 资源及方法来进行处理。 RESTlet JAX-RS Extension 的配置 配置基于 RESTlet JAX-RS Extension 的 Web Service 也就是部署该架构下的 Web Service。 RESTlet 架构提供两种部署 Web Service 的方式。两种方式都方便简单,用户可以根据自己的需求选择 任意一种部署方式。 将 Web Service 当做单独的 Java 程序进行部署 将 Web Service 部署到 Servelet Container 中 两种方式都方便简单,用户可以根据自己的需求选择任意一种部署方式。 将 Web Service 部署成一个单独运行的 Java 应用非常的简单,只需要完成以下几个步骤。 导入需要的 JAR 包,org.restlet.jar,以及 org.restlet.ext.jaxrs_1.0.jar。 为 HTTP Server 创建相应 Java 类。在新建的 Java 类中依次完成以下工作,引入 org.restlet.jar 包中需要的类,新建 HTTP Server,定义该 Server 监听的端口,将 Web Service 的配置类加入到 HTTP 服务器中。 编译运行 HTTP Server。 使用RESTlet框架开发符合JSR311规范标准的REST Web Service(3)时间:2011-08-13 IBM 周鹏 鲁宏勇将基于 RESTlet Jax-Rs Extension 的 Web Service 部署到 Servelet Container 中的过程和部署一 个基本的 Servelet 极其相似。不同的是,部署过程中,用户需要注意添加需要的 Jar 包。以下 Jar 是 该部署方式所需要的。 org.restlet.jar org.restlet.ext.jaxrs_1.0.jar com.noelios.restlet.ja |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |