技术开发 频道

Java EE 6引入的三大新技术之JAX-RS

  【IT168 文档】上周我们介绍了Java EE 6平台的主要目标,本篇介绍这个版本中引入的新技术。这些新技术使这个平台变得更加强大,其中三个重要的新技术包括:

  ◆RESTful Web Services Java API (JAX-RS)

  ◆面向Java EE平台的上下文和依赖性注入(CDI)

  ◆Bean验证

  本文将介绍RESTful Web Services Java API (JAX-RS)。

  RESTful Web Services Java API (JAX-RS)

  RESTful Web Services Java API (JAX-RS),JSR 311让你可以迅速构建遵循REST(Representational State Transfer,表象化状态转变。参考阅读:《什么是REST》)风格软件架构的轻量级Web服务。REST中的一个重要概念是资源的存在性,每个资源都一个全局引用标识符,即URI。特别是数据和函数都被认为是可通过URI识别和访问的资源。为了操纵这些资源,网络组件,客户端和服务器通过一个标准的接口通信,如HTTP和一个组固定的动词 — GET,PUT,POST和DELETE — 交换这些资源。

  RESTful Web服务是按照REST架构风格构建的Web服务,利用RESTful方法使用基于SOAP的技术构建Web服务已经成为一个受欢迎的选择,这都得感谢REST的轻量级特性和直接通过HTTP传输数据的能力。

  JAX-RS为在Java中构建RESTful Web服务提供了标准化API,API提供了一组注解,以及相关的类和接口。对POJO应用注解允许你暴露Web资源,这个方法使得在Java中创建RESTful Web服务变得简单。

  JAX-RS 1.0技术规范定稿于2008年10月,包括了一个参考实现Jersey,Java EE 6包括了这个技术规范的最新版本JAX-RS 1.1,这个版本与Java EE 6中的新特性保持一致。

  下面我们一起来看一个使用JAX-RS构建的RESTful Web服务:

import  javax.ws.rs.Path;
    
import  javax.ws.rs.Produces;
    
import  javax.ws.rs.Get;
    
import  javax.ws.rs.Post;
    
import  javax.ws.rs.Consumes;
    
import  javax.ws.rs.core.Response;
    
import  javax.ws.rs.core.MediaType;    

import  javax.ws.rs.core UriInfo;
    
import  javax.ws.rs.core.UriBuilder; 
    import  java.net.URI;
      @Path (
"items")
     @Produces (MediaType.APPLICATION_XML)
     Public class ItemsResource {
          @Context UriInfo uriInfo; 
         @GET
        Items listItems() {
             Return Allitems();
         }
          @POST
        @Consumes
(MediaType.APPLICATION_XML)
         Public Response create(Item item)
throws ItemCreationException {
             Item newItem
= createItem(item);
             URI newItemURI
= uriInfo.getRequestUriBuilder().path(newItem.getId()).build();
            
return Response.created(newItemURI).build();
         }
          ...
     }  
0
相关文章