构建 RESTful Web 服务
我将从可以集成到 Tomcat 的 “hello world” 应用程序开始。该应用程序将带领您完成设置环境的过程,并涉及 Jersey 和 JAX-RS 的基础知识。
然后,我将介绍更加复杂的应用程序,深入探讨 JAX-RS 的本质和特性,比如多个 MIME 类型表示形式支持、JAXB 支持等。我将从样例中摘取一些代码片段来介绍重要的概念。
Hello World:第一个 Jersey Web 项目
要设置开发环境,您需要以下内容(见 参考资料 中的下载):
IDE:Eclipse IDE for JEE (v3.4+) 或 IBM Rational Application Developer 7.5
Java SE5 或更高版本
Web 容器:Apache Tomcat 6.0(Jetty 和其他也可以)
Jersey 库:Jersey 1.0.3 归档,包含所有必需的库
设置 Jersey 的环境
首先,为 Eclipse 上的 Tomcat 6.0 创建服务器运行时。这是用于 RESTful Web 应用程序的 Web 容器。然后创建一个名为 “Jersey” 应用程序,并将目标运行时指定为 Tomcat 6.0。
最后,从 Jersey 开发包中将以下库复制到 WEB-INF 下的库目录:
核心服务器:jersey-core.jar,jersey-server.jar,jsr311-api.jar,asm.jar
核心客户端:(用于测试)jersey-client.jar
JAXB 支持:(在高级样例中使用)jaxb-impl.jar,jaxb-api.jar,activation.jar,stax-api.jar,wstx-asl.jar
JSON 支持:(在高级样例中使用)jersey-json.jar
开发 REST 服务
现在,您已经设置好了开发第一个 REST 服务的环境,该服务对客户端发出 “Hello”。
要做到这一点,您需要将所有的 REST 请求发送到 Jersey 容器 —— 在应用程序的 web.xml 文件中定义 servlet 调度程序(参见清单 1)。除了声明 Jersey servlet 外,它还定义一个初始化参数,指示包含资源的 Java 包。
清单 1. 在 web.xml 文件中定义 Jersey servlet 调度程度
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>sample.hello.resources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
现在您将编写一个名为 HelloResource 的资源,它接受 HTTP GET 并响应 “Hello Jersey”。
清单 2. sample.hello.resources 包中的 HelloResource
@Path("/hello")
public class HelloResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayHello() {
return "Hello Jersey";
}
}
该代码中有几个地方需要强调:
资源类(Resource Class):注意,资源类是一个简单的 Java 对象 (POJO),可以实现任何接口。这增加了许多好处,比如可重用性和简单。
注释(Annotation):在 javax.ws.rs.* 中定义,是 JAX-RS (JSR 311) 规范的一部分。
@Path:定义资源基 URI。由上下文根和主机名组成,资源标识符类似于 http://localhost:8080/Jersey/rest/hello。
@GET:这意味着以下方法可以响应 HTTP GET 方法。
@Produces:以纯文本方式定义响应内容 MIME 类型。
测试 Hello 应用程序
要测试应用程序,可以打开您的浏览器并输入 URL http://<host>:<port>/<appctx>/rest/hello。您将看到响应 “Hello Jersey”。这非常简单,使用注释处理请求、响应和方法。
分享到:
相关推荐
【标题】:“构建Restful Web服务-jersey” 在Web开发中,RESTful API已经成为构建分布式系统和服务之间交互的重要方式。Jersey是Java语言中实现RESTful架构风格接口的一个开源框架,它基于JAX-RS(Java API for ...
#### 构建RESTful Web服务 本节将介绍如何使用Eclipse和Tomcat构建一个简单的RESTful Web服务。 ##### 开发环境设置 为了构建一个可以集成到Tomcat中的“Hello World”应用程序,您需要准备以下工具和环境: - *...
Jersey是JAX-RS的参考实现,它提供了一套全面的工具,包括注解、拦截器、过滤器、提供者和服务生命周期管理等,帮助开发者轻松地构建RESTful服务。 **2. 安装与配置Jersey** 要开始使用Jersey,首先需要将其添加到...
SpringBoot以其简洁的配置和快速的开发能力受到广大开发者的喜爱,而Jersey作为JAX-RS规范的实现,是构建RESTful API的一个强大工具。将这两者结合可以充分利用各自的优点,提供高效、灵活的Web服务解决方案。 首先...
REST演示。(REST案例大全) RESTful Web Service DemoS with Jersey,Hibernate,Mysql,Spring,JQuery,AngularJS ...跟随我创建一个完整的Web应用程序。...用Jersey构建RESTful服务4–通过jersey-client
Jersey是Java官方的JAX-RS(Java API for RESTful Web Services)实现,它提供了一套全面的工具和API,用于轻松地构建和部署RESTful服务。通过使用Jersey,开发者可以利用注解(annotations)来定义资源、HTTP方法和...
Jersey是Java平台上的一个开源框架,专门用于构建RESTful Web服务。REST(Representational State Transfer)是一种轻量级的、基于HTTP协议的架构风格,广泛应用于Web应用程序和API设计。Jersey通过提供一组JAX-RS...
本示例将深入探讨如何使用Jersey和Jetty构建一个RESTful服务程序。Jersey是Java平台上的一个开源框架,用于实现 Representational State Transfer (REST) API,而Jetty则是一个轻量级的嵌入式Servlet容器,常被用来...
**使用Jersey 2.x构建RESTful Web服务(第一部分)** RESTful Web服务是一种遵循Representational State Transfer(表述性状态转移)架构风格的网络应用设计模式,它以简洁、可扩展的方式提供服务。在Java世界中,...
而 Jersey 是 Java 容器中的一个轻量级框架,用于实现 RESTful Web 服务。REST(Representational State Transfer)是一种基于 HTTP 协议的架构风格,它提倡简洁、直接的方式来处理网络资源。本篇文章将详细介绍如何...
在本文中,我们将探讨如何使用Jersey和Tomcat构建RESTful Web服务以及如何进行调用。RESTful Web服务是一种遵循Representational State Transfer(REST)架构风格的Web服务,由Roy Fielding在其博士论文中提出。这种...
Jersey是Java平台上的一个开源框架,专门用于构建RESTful服务,它是JAX-RS(Java API for RESTful Web Services)规范的实现。本文将对Jersey框架进行初步的学习和探索。 **1. RESTful服务基础** REST...
Jersey是JSR 311(Java API for RESTful Web Services)的参考实现,该规范定义了一组API,使得开发者能够更简单地构建RESTful服务。JSR 311自2008年10月发布1.0版本后,1.1版本仍在草案阶段。Jersey提供了三个主要...
《 Jersey 框架详解:构建 RESTful Web 服务的利器》 Jersey 是一个开源的、基于 Java 的 RESTful Web 服务实现框架,它由 Sun Microsystems(现为 Oracle 公司)开发并维护,是 JAX-RS(Java API for RESTful Web ...
通过研究这个`RestWebservice`压缩包中的源代码,你将深入理解如何使用 Jersey 构建 RESTful Web 服务,包括资源的定义、注解的使用、数据的序列化与反序列化以及服务的测试。这是一个很好的学习和实践平台,帮助你...
在IT行业中,RESTful Web服务已经成为构建分布式系统和应用程序接口(API)的主流方式。它基于Representational State Transfer(表述性状态转移)...理解并掌握这些步骤,你就可以在各种项目中灵活地构建RESTful API。
在本文中,我们将讨论如何在Equinox OSGi环境中嵌入Jersey框架来构建RESTful Web服务。Jersey是JAX-RS(Java API for RESTful Web Services)规范的参考实现,它提供了一种创建高效、高质量REST服务的方法。 首先,...
总结,`jersey1.17实例` 提供了一个完整的项目,包含所有必要的包,以帮助开发者快速上手和理解如何使用 Jersey 1.17 构建 RESTful Web 服务。通过学习这个实例,可以深入理解 RESTful 架构,掌握 Jersey 的核心组件...