`

jersey 一起学习 1讲

 
阅读更多

restful 风格特征:
可寻址性(Addressability)
无状态性(Statelessness)
连通性(Connectedness)
统一接口(Uniform Interface)
面向资源(Resource Oriented)
超文本驱动(Hypertext Driven)
松耦合(Loosely Coupled)

REST风格架构的设计步骤:
规划数据集
将数据集划分为资源
使用URI为资源命名
将资源上的操作映射到4种HTTP方法
定义资源之间的关系
用超链接和表单将新的资源与已有资源关联起来
根据可能发生的出错情况,定义响应状态代码

=========================================================

jersey 相关资料地址
一.jersey官网:
   http://jersey.java.net/


二.jersey源码及其demo下载地址(注意最新版本为1.0):
   http://download.java.net/maven/2/com/sun/jersey/


三.jersey官网邮件讨论组
   http://n2.nabble.com/Jersey-f576304.html


四.jsr311规范官网
   http://jcp.org/en/jsr/detail?id=311


==============================================================

Rest Web Services

1》》 Representational State Transfer, 具象状态传输。

REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集。RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务。通常,RESTful Web 服务应该定义以下方面:
• Web 服务的基/根 URI,比如 http://host/<appcontext>/resources。
• 支持 MIME 类型的响应数据,包括 JSON/XML/ATOM 等等。
• 服务支持的操作集合(例如 POST、GET、PUT 或 DELETE)。



2》》  @注释说明
2.1 @Produces 表示返回的格式
@Produces( {MediaType.APPLICATION_XML })   表示返回的xml格式
@Produces( {MediaType.APPLICATION_JSON })  表示返回的json格式
@Produces( { MediaType.TEXT_PLAIN })  表示返回的纯文本格式
2.2 @ Consumes
@Consumes ( { application/x-www-form-urlencoded }) 窗体数据被编码为名称/值对

简单例子:


1 web.xml 文件修改:

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>javax.ws.rs.Application</param-name>
      <param-value>com.bes.web.MyApplication</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>


1 java代码:
package com.bes.web;

import com.sun.jersey.api.core.PackagesResourceConfig;

public class MyApplication extends PackagesResourceConfig {

public MyApplication() {
super("com.bes.jersey");
}

}


2 服务端webservice
package com.bes.jersey;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

@Path("helloworld")
public class HelloWorldResource {

@GET
@Produces("text/plain")
public String getChichedMessage(
@QueryParam("name") String name,
@QueryParam("country") String country
) {
StringBuilder builder = new StringBuilder();
builder.append("Hello world");
if (name != null) {
builder.append(",").append(name);
}

if (country != null) {
builder.append(" from ").append(country);
}
builder.append("!");
return builder.toString();
}

@POST
@Consumes("text/plain")
public void postChichedMessage() {
return;
}

}

可以通过 web页面调用uri 或者 通过 java代码进行调用。


最后直接上 工程源码:

查看附件。
分享到:
评论
2 楼 aappds 2015-03-06  
终于搞定了,大家下载源码后要对应加入相应版本jar包,博主的这个例子采用jersey1.X版本的jar包,建议去csdn下载个1.8版本的jersey包 ,然后把lib中的jar包全部加到项目中(先把原来的除掉,包括build path中的),然后运行就OK 了!希望对大家有帮助
1 楼 aappds 2015-03-05  
看的不是很懂,没有注释什么的,博主给简单解释下吧

相关推荐

    jersey学习

    jersey

    jersey学习,参考实现

    在学习了一段时间的jersey后,感觉其中根据url自动调用对应类中的对应方法的思想很叼。于是思考它是怎么实现的,自己试着写了一份代码。 代码支持: 1. 根据字符串路径(/Test/add)调用对应资源方法 2. 支持从某一...

    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框架的基本用法,也为进一步学习和开发更复杂的应用奠定了基础。

    jersey所有的jar包

    1. **jersey-bundle**: 这是Jersey的核心库,包含了JAX-RS规范的主要实现,包括服务器端和客户端的支持。 2. **jersey-client**: 提供了构建RESTful客户端应用程序的API,可以发送HTTP请求并处理响应。 3. **...

    SpringBoot第 6 讲:SpringBoot+jersey跨域文件上传

    总结一下,这个"SpringBoot第6讲:SpringBoot+jersey跨域文件上传"教程主要涵盖了以下几个知识点: 1. Spring Boot的基本概念和自动配置。 2. Jersey作为JAX-RS规范的实现,以及如何在Spring Boot中集成Jersey。 3....

    Jersey RESTful WebService框架学习(一)

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

    Jersey所需Jar包

    1. **jersey-client**: 这是Jersey的客户端库,它提供了创建和发送HTTP请求以及处理响应的功能。开发者可以使用这个库来与RESTful服务进行交互,例如GET、POST、PUT、DELETE等HTTP方法。它包含了构建请求实体、...

    jersey-core、jersey-client jar包.rar

    标题中的"jersey-core、jersey-client jar包.rar"指的是两个关键的Java库,它们是Jersey框架的核心组件。Jersey是实现Java RESTful Web服务(JAX-RS)规范的开源框架,由Sun Microsystems(现Oracle)开发,用于构建...

    jersey document

    本文主要是一份关于Java Jersey框架的学习指南,为初学者和希望深入学习Jersey框架的开发者提供详细的技术资料分享。Jersey是Java的一个开源的、实现了JAX-RS (JSR 370)规范的RESTful Web服务框架。它用于构建web...

    jersey所有jar包下载

    9. **版本兼容性**:Jersey 的不同版本可能与不同的 JAX-RS 规范版本对应,比如 1.x 版本对应 JAX-RS 1.1,2.x 版本对应 JAX-RS 2.0 及以上。因此,在选择版本时要考虑所使用环境的兼容性。 总的来说,Jersey 提供...

    jersey-1.19JAR包全

    1. **jersey-server**:核心服务器模块,负责处理HTTP请求和响应,执行资源方法。 2. **jersey-client**:客户端模块,用于发起HTTP请求,获取响应。 3. **jersey-servlet**:Servlet容器中的部署模块,使得Jersey...

    jersey1.18jar包

    Jersey是Java中的一款开源RESTful Web服务框架,它基于JAX-RS(Java API for RESTful Web Services)规范,允许开发者轻松创建和部署RESTful服务。标题中的"jersey1.18jar包"指的是Jersey框架的1.18版本的核心库文件...

    jersey webapp ajax demo

    1. **Jersey**:Jersey是开源的、高性能的RESTful Web服务框架,它完全符合JAX-RS规范。使用Jersey,开发者可以轻松地将Java类转换为HTTP服务,只需在类或方法上添加适当的注解,如`@Path`、`@GET`、`@POST`等。此外...

    jersey最新jar包

    【jersey最新jar包】 jersey是Java世界中一个著名的RESTful服务开发框架,它基于JAX-RS(Java API for RESTful Web Services)规范,为开发者提供了构建RESTful服务的强大工具。本资源包含的是jersey的最新jar包,...

    Jersey 2.25.1 User Guide

    ### Jersey 2.25.1 用户指南关键知识点解析 #### 标题:Jersey 2.25.1 用户指南 **Jersey** 是一个实现了 **...通过这些内容的学习,开发者可以更深入地掌握 Jersey 框架,从而构建出高效、可靠的 RESTful Web 服务。

    jersey最新版带example

    通过学习和运行这些示例,开发者可以更好地掌握Jersey框架的使用。 总结起来,这个"jersey最新版带example"提供了全面了解和实践RESTful服务开发的机会,特别是使用Jersey和JAXB处理XML数据的场景。通过深入研究和...

    jersey所需jar包

    1. **JAX-RS规范实现**: Jersey 是对 Java API for RESTful Web Services (JAX-RS) 规范的实现。JAX-RS 提供了一种标准的方式来创建和消费 RESTful Web 服务。通过使用 Jersey,开发者可以利用注解(如 `@Path`、`...

    Jersey+spring Demo

    1. **pom.xml** - Maven配置文件,定义了项目依赖,包括Jersey和Spring的相关库。 2. **web.xml** - Web应用的部署描述符,配置了Jersey的Servlet和Spring的DispatcherServlet。 3. **ApplicationConfig.java** - ...

Global site tag (gtag.js) - Google Analytics