restfull环境搭建-helloword(二)

原文地址:http://only81.iteye.com/blog/1689537

本文描述,获取XML或json格式数据

首先,创建一个bean,比如Todo(JAXB自动将bean文件,转换成xml或者json,需要添加@XmlRootElement)

package sample.hello.resources.bean;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Todo {
    private String summary;
    private String description;
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }

}

创建对应的resource

package sample.hello.resources;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import sample.hello.resources.bean.Todo;

@Path("todo")
public class TodoResource {

    @GET
    @Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
    public Todo getXml(){
        Todo todo = new Todo();
        todo.setSummary("This is first todo");
        todo.setDescription("This is my first todo");
        return todo;
    }

    @GET
    @Produces({MediaType.TEXT_XML})
    public Todo getHtml(){
        Todo todo = new Todo();
        todo.setSummary("This is first todo");
        todo.setDescription("This is my first todo");
        return todo;
    }
}

对应的web.xml,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Restfull</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <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>

</web-app>

到此为止,服务器端程序,创建完毕。

客户端取xml或json数据程序:

package sample.hello.resources.client;

import java.net.URI;

import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;

public class TodoTest {

    public static void main(String[] args) {
        ClientConfig config = new DefaultClientConfig();
        Client client = Client.create(config);
        WebResource service = client.resource(getBaseURI());
        System.out.println(service.path("rest").path("todo").accept(MediaType.TEXT_XML).get(String.class));
        System.out.println("....");
        System.out.println(service.path("rest").path("todo").accept(MediaType.APPLICATION_JSON).get(String.class));
        // Get JSON for application
        System.out.println("....");
        System.out.println(service.path("rest").path("todo").accept(MediaType.APPLICATION_XML).get(String.class));

    }

    private static URI getBaseURI(){
        return UriBuilder.fromUri("http://localhost:8080/Restfull").build();
    }

}

运行结果,如下:

对应源码下载链接:http://pan.baidu.com/s/1jHO5eVs 密码:vqbj

时间: 2024-10-21 08:28:25

restfull环境搭建-helloword(二)的相关文章

restfull环境搭建-helloword

原文地址:http://blog.csdn.net/u013158799/article/details/39758341 1. REST和RESTful Web Services的简要说明 REST(RepresentationalState Transfer),中文称为表述性状态转移,是一种针对于网络应用开发的软件架构风格,是满足一定的架构约束条件的.REST包括的准则主要有: 1)网络上所有事物都抽象成资源: 2)每个资源对应唯一的URI: 3)通过通用接口对资源操作: 5)操作都是无状态

linux开发环境搭建(二)

1,安装arm-linux-gcc 安装方法,将安装包解压到/opt下,然后vim /.bashrc 修改一行:  export PATH = $PATH:/opt/FriendlyARM/tooschain/4.5.1/bin  ,后面是安装的路径,重 新登录系统,注销即可,然后arm-linux-  +Tab键就可以看到安装成功. 2. 安装内核树 要安装与目标板一样版本的内核树,查看内核版本方法: uname -r 将内核压缩包解压到/usr/src下,然后依次执行命令 make oldc

Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python

Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Python 根据下面的地址,直接一键安装,全部默认方式. 下载地址:http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi 安装到C:\Python27,设置

嵌入式linux开发环境搭建(二)——NFS服务器的搭建

嵌入式linux开发环境搭建(二)--NFS服务器的搭建 系统环境:Ubuntu 14.04 server amd64 1.安装 apt-get install nfs-common nfs-kernel-server 2.修改配置文件/etc/exports /home/nfs 192.168.0.0/24(rw,sync,no_subtree_check) 3.重启NFS服务器 /etc/init.d/nfs-kernel-server start 4.查看NFS设置 showmount -

SpringMVC轻松学习-环境搭建(二)

基于spring2.5的采用XML配置的spring MVC项目 注:本项目全部基于XML配置.同时,集成了hibernate.采用的是:spring MVC+hibernate+spring的开发架构. 1.      建立web项目 2.      导入jar包(spring.jar, spring-webmvc.jar, commons-logging.jar.其他jar包为hibernate相关jar包) 上面是SpringMVC的所有包,我将这些jar包放在了我的百度云盘中,当然你也可

YARN环境搭建 之 二:CentOS7.0 JDK配置

Hadoop是Java写的,他无法使用Linux预安装的OpenJDK,因此安装hadoop前需要先安装JDK(1.6以上)   原材料:在Oracle官网下载的32位JDK:     说明: 1.CentOS 7.0系统现在只有64位的,但是,Hadoop一般支持32位的,在64位环境下有事会有Warning出现,避免真的有神马问题,选择i586的JDK(即32位的),当然,64位的CentOS 7 肯定是兼容32位JDK的,记住:64位系统肯定兼容32位的软件,32位系统不能兼容64位软件.

Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装

一.nifi基本配置 1. 修改各节点主机名,修改/etc/hosts文件内容. 192.168.0.120 master 192.168.0.121 slave1 192.168.0.122 slave2 具体请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 2. 安装zookeeper分布式集群具体请参考<Kafka:ZK+Kafka+Spark Streaming集群

Spring Data 开发环境搭建(二)

首先咱们先创建一个maven工程 在pom.xml加入以下 依赖 <!--Mysql 驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!-- https://mvnreposito

BI报表开发之环境搭建(二)

上一篇<BI报表开发之环境搭建(一)>中详细描述了SQL SERVER R2 的安装步骤,本篇将继续描述BI报表开发的环境搭建部分—— Orale数据库安装. <1>下载oracle-client_11g安装包(下载地址找不到啦) <2>解压后,运行安装程序,在出现的“配置安全更新”窗口中,取消“我希望通过My Oracle Support接受安全更新”,单击“下一步”: 在“安装选项”窗口中,选择“创建和配置数据库”,单击“下一步”: 在“系统类”窗口中,选择“桌面类