restful web service学习1-JAX-RS 2.0入门

来源:互联网 发布:手机视频特效软件 编辑:程序博客网 时间:2024/05/05 11:42

1.4个概念

1)REST:一种跨平台、跨语言的架构风格。

2)REST式的WEB服务:REST在WEB领域的实现。

3)JAX-RS标准:在JAVA领域,对REST式的WEB服务制定的实现标准。

4)Jersey:JAX-RS标准的参考实现。

2.REST

REST是一种架构风格,不是一种技术,也不是一个标准或协议,它使用既有标准:HTTP+URI+XML,来实现其要求的架构风格。因此,与之对应的不是SOAP,而是像RPC这样的架构风格。

HTTP+URI+XML是REST的基本实现形式,但不是唯一的实现形式。HTTP协议和URI用于统一接口和定位资源,文本、二进制流、XML和JSON等格式用来作为资源的表述。

3.REST服务

REST式WEB服务是一种ROA(面向资源的架构)的应用,主要特点是方法信息存在于HTTP的方法中(比如GET/PUT),作用域存在于URI中。例如,在一个获取设备资源列表的GET请求中,方法信息是GET,作用域信息是URI中包含的对设备资源的过滤、分页和排序等条件。

4.JAX-RS2.0

1)目标

a.基于POJO:JAX-RS2.0的API提供一组注解和相关的接口、类,并定义了POJO对象的生命周期和作用域。规定使用POJO来公布WEB资源。

b.以HTTP为中心:JAX-RS2.0采用HTTP协议,并提供清晰的HTTP和统一资源定位URI元素来映射相关的API类和注解。

c.格式独立性:JAX-RS2.0对传输数据的类型/格式的支持非常宽泛,允许在标准风格之上使用额外的数据类型。

d.容器独立性:JAX-RS2.0的应用可以部署在各种Servlet容器中。

e.内置于JavaEE:JAX-RS2.0是JavaEE规范的一部分,它定义了一个JavaEE容器内的WEB资源类的内部,如何使用JavaEE的功能和组件。

2)非目标

a.对J2SE6.0之前版本的支持:JAX-RS2.0中大量使用了注解,需要J2SE6.0以及更新的版本。

b.对服务的描述、注册和探测:JAX-RS2.0没有定义也无需支持任何服务的描述、服务的注册和服务的探测。

c.HTTP协议栈:JAX-RS2.0没有定义新的HTTP协议栈。承载JAX-RS2.0应用的容器提供对HTTP的支持。

d.数据类型/格式:JAX-RS2.0没有定义处理实体内容的类,它将这一类型的类交由使用JAX-RS2.0的应用中的类去实现。

3)元素

a.资源类:使用JAX-RS注解来实现相关WEB资源的JAVA类。

b.根资源类:使用@Path注解,提供资源类树的根资源极其子资源的访问。

c.请求方法标识符:使用运行期注解@HttpMethod,用来标识处理资源的HTTP请求方法。

d.资源方法:资源类中定义的方法,使用了请求方法标识符,用来处理相关资源的请求。

e.子资源标识符:资源类中定义的方法,用来定位相关资源的子资源。

f.子资源方法:资源类中定义的方法,用来处理相关资源的子资源的请求。

g.Providers:一种JAX-RS扩展接口的实现类,扩展JAX-RS运行期的能力。

h.Filter:一种用于过滤请求和响应的Provider。

i.Entity Interceptor:一种用于处理拦截消息读写的Provider。

j.Invocation:一种用于配置发布HTTP请求的客户端API对象。

k.WebTarget:一种使用URI标识的Invocation容器对象。

l.Link:一种携带元数据的URI,包括媒体类型、关系和标题。

5.Jersey模块

1)核心模块

jersey-client:Jersey核心客户端实现

jersey-common:Jersey通用包

jersey-server:Jersey核心服务器实现

2)容器模块

3)连接器模块

4)Media模块

5)扩展模块

6)测试框架模块

7)GlassFiss Bundle模块




0 0
原创粉丝点击