`
dreamoftch
  • 浏览: 498113 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Jersey Restful学习

阅读更多

 

依赖的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集成以及使用

    **标题:“jersey restful webservice集成以及使用”** RESTful Web服务是一种广泛采用的Web服务设计风格,它遵循 ...通过实践和学习,开发者可以熟练掌握Jersey,从而更好地构建和利用RESTful Web服务。

    jersey 实现restful服务

    本教程将重点讲解如何使用Jersey框架来实现RESTful服务。 Jersey是Java语言中一个非常流行的实现RESTful服务的开源库,它是JAX-RS(Java API for RESTful Web Services)规范的一个参考实现。JAX-RS提供了一套标准...

    Jersey RESTful WebService框架学习(一)

    【标题】"Jersey RESTful WebService框架学习(一)" 在Web服务开发中,RESTful API已经成为主流,它强调资源的表示和交互,通过HTTP协议进行通信。Jersey是Java平台上的一个开源框架,专门用于构建RESTful服务,它是...

    jersey restful webservice 所需包2.22版

    Jersey 是一个开源的 RESTful Web 服务...通过深入学习和实践这些知识点,开发者可以有效地利用 Jersey 2.22 版本创建高质量的 RESTful Web 服务,实现与各种客户端(如浏览器、移动应用、其他服务器)的高效通信。

    Jersey Restful Webservice

    ** Jersey RESTful Web服务...通过学习这个项目,开发者可以深入理解RESTful服务的原理,以及如何在Java环境中使用Jersey进行快速开发。通过实践,可以掌握包括资源类定义、注解使用、数据交换和部署等方面的关键技能。

    Jersey RESTful WebService框架学习(八)maven搭建

    在本篇中,我们将深入探讨如何使用Maven搭建一个基于Jersey实现的RESTful Web服务。Jersey是Java EE平台下的一个开源项目,它提供了对JAX-RS(Java API for RESTful Web Services)规范的全面支持,让我们能够轻松...

    jersey实现restful简单实例

    【jersey实现RESTful简单实例】 ...通过学习和实践,你可以利用Jersey构建高效、可维护的Web服务,满足各种业务需求。在实际项目中,根据具体场景灵活运用上述知识点,可以大大提高开发效率和应用质量。

    构建Restful Web服务-jersey

    【标题】:“构建Restful Web服务-jersey” 在Web开发中,RESTful API已经成为构建分布式系统和服务之间交互的...通过学习和实践,你可以轻松地使用Jersey创建高效、可维护的Web服务,实现应用程序之间的灵活交互。

    jersey-1.1.2 restful webservice

    7. **jersey-archive-1.1.2-ea**:这可能是Jersey 1.1.2早期访问版本的归档文件,可能包含了当时的源代码、文档、示例项目等内容,对于学习和理解Jersey的工作原理和API非常有帮助。 总之,"jersey-1.1.2 restful ...

    jersey 一起学习 1讲

    总而言之,学习Jersey意味着掌握RESTful服务开发的关键技能,这在现代Web应用程序中非常重要。无论是构建API供其他应用调用,还是构建面向用户的服务,Jersey都是一个强大且灵活的工具。在后续的学习中,你将逐渐...

    使用jersey构建RESTful Web服务

    这些文件可以作为学习和实践Jersey的起点,通过阅读和运行代码,你可以更深入地了解RESTful服务的构建过程。 总之,使用Jersey构建RESTful Web服务,可以遵循JAX-RS标准,利用其强大的注解和API,快速开发出高效且...

    java jersey spring 集成 开发restful API 服务

    Jersey是Java官方的JAX-RS(Java API for RESTful Web Services)实现,它提供了一套全面的工具和API,用于轻松地构建和部署RESTful服务。通过使用Jersey,开发者可以利用注解(annotations)来定义资源、HTTP方法和...

    使用Jersey和Tomcat搭建的RESTful WebService

    本项目是使用Jersey框架和Tomcat服务器来构建RESTful WebService的一个实例,它提供了完整的配置和实现,对于学习和理解RESTful服务的开发具有很高的实用价值。 **Jersey框架**:Jersey是Java平台上的一个开源框架...

    RESTful最佳实践之基于 jersey 的增删改查

    在"jersey-rest-demo"这个示例项目中,你可以找到具体的代码实现和配置文件,通过学习和实践,可以深入理解如何使用Jersey构建RESTful服务,以及如何遵循最佳实践来设计健壮和易于使用的API。这不仅有助于提升个人...

    java+restful+Jersey+webservice 远程调用

    在本项目中,你将学习如何使用Java和Jersey构建RESTful Web服务,并进行远程调用。以下是一些关键知识点: 1. **JAX-RS注解**: - `@Path`:用于定义资源的URI路径。 - `@GET`, `@POST`, `@PUT`, `@DELETE`:分别...

    Jersey注解学习笔记

    Jersey 是一种流行的 Java 框架,用于构建 RESTful Web 服务。它基于 JAX-RS(Java API for RESTful Web Services)标准,提供了一种简单、高效的方式来创建和消费 RESTful API。本篇文章主要关注 Jersey 注解的使用...

    jersey-学习-和hello-world

    ### Jersey RESTful框架详解及Hello World实例 #### 一、Jersey框架简介 Jersey是Java平台上用于构建RESTful Web...这个示例不仅帮助我们了解了Jersey框架的基本用法,也为进一步学习和开发更复杂的应用奠定了基础。

    Restful示例

    Restful Jersey实现 java 参考学习页面 http://www.ibm.com/developerworks/cn/web/wa-aj-tomcat/ 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务

    Developing-Restful-Web-Services-with-Jersey-2-0

    ### 使用Jersey 2.0开发RESTful Web服务 #### 引言 随着互联网技术的发展,Web服务在软件开发中的作用越来越重要。RESTful架构因其简单性和灵活性而成为构建Web服务的标准之一。Jersey作为Java平台上实现RESTful ...

Global site tag (gtag.js) - Google Analytics