jersey 学习资料(初学时记的笔记)

jersey是一种 restful框架,使用它为我们提供接口。有三块重要的东西,jersey-server,jersey-core, 集成(与spring等等)。

相关解释:

资源类(Resource Class):注意,资源类是一个简单的 Java 对象 (POJO),可以实现任何接口。这增加了许多好处,比如可重用性和简单。

注释(Annotation):在 javax.ws.rs.* 中定义,是 JAX-RS (JSR 311) 规范的一部分。

Jersey 是Sun对JSR311的官方参考实现,而JSR311是java中实现Restful Web Service的API规范(JSR311: JAX-RS: The Java API for RESTful Web Services)。JSR311有一个重要目标:使用注解(annotation)把POJO暴露成Web Service,这样就比较轻量级。

@Path:定义资源基 URI。由上下文根和主机名组成,资源标识符类似于 http://localhost:8080/Jersey/rest/hello。
@GET:这意味着以下方法可以响应 HTTP GET 方法。
@Produces:以纯文本方式定义响应内容 MIME 类型。

JAX-RS提供了一些标注将一个资源类,一个 POJO 的 Java 类,封装为Web资源。标注包括:
@Path,标注资源类或方法的相对路径;
@GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型;

@Produces,标注返回的MIME媒体类型;
@Consumes,标注可接受请求的MIME媒体类型;

@PathParam,@QueryParam,@HeaderParam,CookieParam,@MatrixParam,@FormParam,分别标注方法的参数来自于HTTP请求的不同位置,例如@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam来自于HTTP请求的头信息,@CookieParam来自于HTTP请求的Cookie。

JAX-RS:Java API for RESTful Web Services 是一个 Java 编程语言的应用程序接口,支持按照 表象化状态转变 (REST)架构风格创建 Web 服务Web服务[1]。 JAX-RS使用了 Java SE 5 引入的 Java 标注来简化 Web 服务客户端和服务端的开发和部署。

Rest风格WEB服务(Rest Style Web Service)的真相 - 流浪的鱼 - 博客频道 - CSDN.NET
http://blog.csdn.net/jia20003/article/details/8365585

这篇文章介绍了常见的两种 Web Service 的处理方式为有两种:
(1)基于WSDL/SOAP的方式
比较正统的,客户端调用必须先取得WSDL文件,然后生成调用的 API 才可以使用。(笔者注:这个以前我做过,还挺麻烦的。记得还要用一些工具生成调用的代码。)
(2)Rest方式
Rest 风格 Web 服务的好处就是简化了客户端的调用,不再像 WSDL 那般麻烦。从而减低第三方开发者的学习成本,减短了学习曲线。有利于服务推广与普及,吸引更多用户数量从而带来潜在的商业利益。

在软件即服务(SaaS - Software As A Service)与软件即平台(PasS-Platform As A Service)中有着重要的地位与应用。这正是那些互联网巨头对 Rest 风格感兴趣的原因之一。

REST的优点(不是很好理解,但是先记录一下)
1、可以利用缓存Cache来提高响应速度
2、通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
3、浏览器即可作为客户端,简化软件需求
4、相对于其他叠加在HTTP协议之上的机制,REST的软件依赖性更小
5、不需要额外的资源发现机制
6、在软件技术演进中的长期的兼容性更好

DNS 有状态,http 是无状态协议。

你可能感兴趣的:(jersey)