依赖的Maven Dependency:
<dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>${jersey-version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey-version}</version> </dependency> <dependency> <groupId>javax.xml</groupId> <artifactId>jaxb-api</artifactId> <version>${jaxb-version}</version> <scope>provided</scope> </dependency>
对应的version:
<properties> <jersey-version>2.17</jersey-version> <jaxb-version>2.1</jaxb-version> </properties>
顺便加上tomcat的plugin:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- http port --> <port>8080</port> <!-- application path always starts with / --> <path>/</path> </configuration> </plugin>
web.xml加上Jersey的servlet:(jersey.config.server.provider.packages指定提供restful的类所在的包名列表)
<servlet> <servlet-name>jersey-helloworld-serlvet</servlet-name> <servlet-class> org.glassfish.jersey.servlet.ServletContainer </servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.tch.test</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-helloworld-serlvet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping>
测试类:
package com.tch.test.restful; import java.util.ArrayList; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.tch.test.restful.bean.Address; import com.tch.test.restful.bean.Contact; @Path("/contacts") public class ContactsResource { @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public List<Contact> getContacts() { List<Contact> contacts = new ArrayList<Contact>(); Contact contact = new Contact(); contact.setId("1"); contact.setName("dreamoftch"); Address address = new Address(); address.setHome("Shanghai"); List<Address> addresses = new ArrayList<Address>(); addresses.add(address); contact.setAddresses(addresses); contacts.add(contact); return contacts; } }
用到的Bean:
package com.tch.test.restful.bean; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Contact { private String id; private String name; private List<Address> addresses; public Contact() {} public Contact(String id, String name, List<Address> addresses) { this.id = id; this.name = name; this.addresses = addresses; } @XmlElement(name="address") public List<Address> getAddresses() { return addresses; } public void setAddresses(List<Address> addresses) { this.addresses = addresses; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
package com.tch.test.restful.bean; public class Address { private String home; public String getHome() { return home; } public void setHome(String home) { this.home = home; } }
代码就这些,然后运行 mvn tomcat7:run启动web项目。
浏览器直接输入地址:http://localhost:8080/rest/contacts测试Get的方法,返回xml格式的结果。
使用curl 命令:curl -H "Accept: application/json" http://localhost:8080/rest/contacts 测试Get的方法,返回json格式的结果。
Finish...
相关推荐
**标题:“jersey restful webservice集成以及使用”** RESTful Web服务是一种广泛采用的Web服务设计风格,它遵循 ...通过实践和学习,开发者可以熟练掌握Jersey,从而更好地构建和利用RESTful Web服务。
本教程将重点讲解如何使用Jersey框架来实现RESTful服务。 Jersey是Java语言中一个非常流行的实现RESTful服务的开源库,它是JAX-RS(Java API for RESTful Web Services)规范的一个参考实现。JAX-RS提供了一套标准...
【标题】"Jersey RESTful WebService框架学习(一)" 在Web服务开发中,RESTful API已经成为主流,它强调资源的表示和交互,通过HTTP协议进行通信。Jersey是Java平台上的一个开源框架,专门用于构建RESTful服务,它是...
Jersey 是一个开源的 RESTful Web 服务...通过深入学习和实践这些知识点,开发者可以有效地利用 Jersey 2.22 版本创建高质量的 RESTful Web 服务,实现与各种客户端(如浏览器、移动应用、其他服务器)的高效通信。
** Jersey RESTful Web服务...通过学习这个项目,开发者可以深入理解RESTful服务的原理,以及如何在Java环境中使用Jersey进行快速开发。通过实践,可以掌握包括资源类定义、注解使用、数据交换和部署等方面的关键技能。
在本篇中,我们将深入探讨如何使用Maven搭建一个基于Jersey实现的RESTful Web服务。Jersey是Java EE平台下的一个开源项目,它提供了对JAX-RS(Java API for RESTful Web Services)规范的全面支持,让我们能够轻松...
【jersey实现RESTful简单实例】 ...通过学习和实践,你可以利用Jersey构建高效、可维护的Web服务,满足各种业务需求。在实际项目中,根据具体场景灵活运用上述知识点,可以大大提高开发效率和应用质量。
【标题】:“构建Restful Web服务-jersey” 在Web开发中,RESTful API已经成为构建分布式系统和服务之间交互的...通过学习和实践,你可以轻松地使用Jersey创建高效、可维护的Web服务,实现应用程序之间的灵活交互。
7. **jersey-archive-1.1.2-ea**:这可能是Jersey 1.1.2早期访问版本的归档文件,可能包含了当时的源代码、文档、示例项目等内容,对于学习和理解Jersey的工作原理和API非常有帮助。 总之,"jersey-1.1.2 restful ...
总而言之,学习Jersey意味着掌握RESTful服务开发的关键技能,这在现代Web应用程序中非常重要。无论是构建API供其他应用调用,还是构建面向用户的服务,Jersey都是一个强大且灵活的工具。在后续的学习中,你将逐渐...
这些文件可以作为学习和实践Jersey的起点,通过阅读和运行代码,你可以更深入地了解RESTful服务的构建过程。 总之,使用Jersey构建RESTful Web服务,可以遵循JAX-RS标准,利用其强大的注解和API,快速开发出高效且...
Jersey是Java官方的JAX-RS(Java API for RESTful Web Services)实现,它提供了一套全面的工具和API,用于轻松地构建和部署RESTful服务。通过使用Jersey,开发者可以利用注解(annotations)来定义资源、HTTP方法和...
本项目是使用Jersey框架和Tomcat服务器来构建RESTful WebService的一个实例,它提供了完整的配置和实现,对于学习和理解RESTful服务的开发具有很高的实用价值。 **Jersey框架**:Jersey是Java平台上的一个开源框架...
在"jersey-rest-demo"这个示例项目中,你可以找到具体的代码实现和配置文件,通过学习和实践,可以深入理解如何使用Jersey构建RESTful服务,以及如何遵循最佳实践来设计健壮和易于使用的API。这不仅有助于提升个人...
在本项目中,你将学习如何使用Java和Jersey构建RESTful Web服务,并进行远程调用。以下是一些关键知识点: 1. **JAX-RS注解**: - `@Path`:用于定义资源的URI路径。 - `@GET`, `@POST`, `@PUT`, `@DELETE`:分别...
Jersey 是一种流行的 Java 框架,用于构建 RESTful Web 服务。它基于 JAX-RS(Java API for RESTful Web Services)标准,提供了一种简单、高效的方式来创建和消费 RESTful API。本篇文章主要关注 Jersey 注解的使用...
### Jersey RESTful框架详解及Hello World实例 #### 一、Jersey框架简介 Jersey是Java平台上用于构建RESTful Web...这个示例不仅帮助我们了解了Jersey框架的基本用法,也为进一步学习和开发更复杂的应用奠定了基础。
Restful Jersey实现 java 参考学习页面 http://www.ibm.com/developerworks/cn/web/wa-aj-tomcat/ 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务
### 使用Jersey 2.0开发RESTful Web服务 #### 引言 随着互联网技术的发展,Web服务在软件开发中的作用越来越重要。RESTful架构因其简单性和灵活性而成为构建Web服务的标准之一。Jersey作为Java平台上实现RESTful ...