Jersey : Java规范下REST风格Web Service开发框架

Sun正在致力于的建立RESt风格Web服务的规范,  规范如下  
JSRs: Java Specification Requests
JSR 311: JAX-RS: The JavaTM API for RESTful Web Services
链接:http://jcp.org/en/jsr/detail?id=311
而同时该规范的参考实现Jersery也在逐渐成熟,目前已经是0.7版,大家可以参考https://jersey.dev.java.net/。

从JAX-RS规范和Jersey的发展,以及WADL的定义可以看到Sun在RESTful Web Service上面的功夫,也可以预见,不就的将来,Java规范的REST风格Web Service将成为主流(起码是Java界的主流),同时Yahoo、Amazon、Google等对REST风格Web Service的青睐,也说明了RESt风格Web Service的发展和前途。

言归正传,介绍Jersey,一个REST风格服务的开发框架。

Jersey是JAX-RS的参考实现,现在已经是0.7版,然而并不是最终版本,因为JAX-RS还没有到最终版本。但是现在的Jersey已经足以让Java爱好者一饱coding福了。首先,Jersey采用了Annotation机制,所有的HTTP相关的参数设置都采用标注实现,因此,在编程的时候,我们好像针对的仍然是POJO,体会不到分布式或J2EE编程的痛苦,只要了解一些关键Annotation的用户即可。其次,Jersey是一个开发的平台,我们可以扩展自己的需求,比如在消息格式上,虽然Jersey已经提供了Java基本数据类型、JSON、XML等类型,我们还是可以很容易的扩展自己的格式。第三,Jersey建立的服务可以很简单的部署到JDK6自带的轻量级Server上,过程极其简单(见下面例子)。第四,Jersey建立的服务可以非常容易的部署为Servlet,支持各种J2EE容器。第五,Jersey可以为我们编写的服务自动生成WADL(参见http://research.sun.com/techrep/2006/abstract-153.html)。除此之外,Jersey还有许多的优点等待代价去发现。

好,让我们先来个例子,先睹为快吧。

以下Students类建立了一个Students的资源,其中主要是学生的姓名和年龄信息,采用学生名作为定位资源的URI,将给出学生的详细信息(姓名、年龄)。而Server类则扮演了服务器的角色,采用了JDK6自带的轻量级Server,其实只需要两行代码就可以建立并启动该Server,这个就自己看下面的代码吧。

import java.util.HashMap;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.ProduceMime;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriInfo;
import com.sun.ws.rest.spi.resource.Singleton;
/**
 *
 * @author dongtg
 *
 */
@Singleton
@Path("student/{name}")
public class Students {
 
 HashMap<String,Integer> nameage=new HashMap<String,Integer>();
 //String name;
 int age=20;
 
 public Students()
 {
  nameage.put("aaa",20);
  nameage.put("bbb",30);
 }

时间: 2024-12-25 02:59:36

Jersey : Java规范下REST风格Web Service开发框架的相关文章

关于C#下写的Web Service 服务在Delphi下调用时的问题

web|问题 关于C#下写的Web Service 服务在Delphi下调用时的问题 首先我觉得有必要把.net平台下开发webservice进行一个比较全面的阐述,web service的最初产生是在电子商务的环境下出现的,有些问题通过传统的手段已经不容易解决,比如在应用程序之间进行商务通信.数据交换,使用DCom.CORBA等二进制机制的东西已经行不通了,姑且不说他们受各自平台的限制,比如DCom(Distribute Common Objects Model)只能在Windows平台下进行

java 调用返回json的 web service接口

问题描述 java 调用返回json的 web service接口 公司给了一个web service接口 ,只给了一个url ,并告诉是post请求, 以前没调用过 ,求大神们给个例子什么的.接口返回是json格式 我用from表单action提交那个url 结果是让我下载一个.json的文件,下载下来打开就是我想获得的json数据,这个接口该怎么调用啊. 解决方案 很简单,这个你就写一个后台模拟post请求的代码就可以了,在页面是因为浏览器将json数据识别为一个文件,所以才会下载 解决方案

使用RESTlet框架开发符合JSR311规范标准的REST Web Service

JSR311 作为 Java 实现 REST Web Service 的规范标准,尽管从出生起就备受争议,但从事实上,已 经普遍被大多数 REST 实现框架的接受.这中间,既有 Sun 公司原产的 Jersey, 也有其他的开源项目, 如 Jboss 的 RESTEasy, Apache 的 CXF 等.当然,还有发展时间最长,相当成熟的 RESTlet 框架. RESTlet 的主体核心是按照 Roy Thomas Fielding 的著作"Architectural Styles and t

什么情况下应该使用Web Service?

webservice 现在我将列举三种情况,在这三种情况下,你将会发现使用Web service会带来极大的好处.此后,我还会举出不应该使用Web service的一些情况. 跨越防火墙的通信 如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题.那是因为客户端和服务器之间通常都会有防火墙或者代理服务器.在这种情况下,你想使用DCOM就不是那么简单了,而且,通常你也不愿意把你的客户端程序发布到如此庞大数量的每一个用户手中.于是,你最终选择了用

Java调用.Net的web service的几种方式

最近做项目,涉及到web-service调用,现学了一个星期,现简单的做一个小结.下面实现的是对传喜物流系统(http://vip.cxcod.com/PodApi/GetPodStr.asmx?wsdl)的订单跟踪(web-service调用)功能. 一. 使用axis1.x调用webservice方法 Axis的最常用版本:1.4和2.0版本.以下为1.4版本 核心代码:   // webserviceURL       service_url = "http://vip.cxcod.com

艾伟_转载:Java和.NET互操作:我们应该放弃Web Service吗?

通过Web Service混合.NET和Java技术往往很容易,但Web Service并 非是.NET和Java互操作的万灵丹.Web Service在集成独立的跨网络通信的组件时非常有用,在简单的调用/返回情景中,涉及的数据类型数量非常有限,且Web Service是基于标准的,混合.NET和Java技术通常显得很简单,因此有人认为Web Service是实现.NET和Java互操作的万能答案,但事实却并非如此. 在搜索引擎中搜索一下"Java .NET互操作"将会返回很多搜索结果

[Java] 利用Axis库调用C#的Web Service

[Java] 利用Axis库调用C#的Web Service 编写者 日期 关键词 郑昀@ultrapower 2005-8-2 Java Web Service Axis C#   概述 试图从Java调用C#编写的Web Service,借用了王咏刚的wsCaller源代码中DynamicInvoker类. 开始不清楚DynamicInvoker类的portName的含义,望文生义,以为是8080之类的端口号,实际上是下面wsdl中的wsdl:port 节点的"name"属性值&q

教你学会XML Web Service 的基础

web|xml 什么是 XML Web Service? XML Web Service 是在 Internet 上进行分布式计算的基本构造块.开放的标准以及对用户和应用程序之间的通信和协作的关注产生了这样一种环境,在这种环境下,XML Web Service 成为应用程序集成的平台.应用程序是通过使用多个不同来源的 XML Web Service 构造而成的,这些服务相互协同工作,而不管它们位于何处或者如何实现. 有多少个构建 XML Web Service 的公司,就可能有多少种 XML W

XML Web Service 基础 (转微软MSDN)

web|xml|微软 XML Web Service 基础 Roger WolterMicrosoft Corporation 2001 年 12 月 摘要:本文概述了 XML Web Service 对于开发人员的价值,同时还介绍了 SOAP.WSDL 和 UDDI. 目录 什么是 XML Web Service? SOAP WSDL UDDI 其他内容 什么是 XML Web Service?XML Web Service 是在 Internet 上进行分布式计算的基本构造块.开放的标准以及