JAX-RS简介

JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java标注来简化Web服务的客户端和服务端的开发和部署。

  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实现的框架有Jersey,RESTEasy等。这两个框架创建的应用可以很方便地部署到Servlet 容器中,比如Tomcat,JBoss等。值得一提的是RESTEasy是由JBoss公司开发的,所以将用RESTEasy框架实现的应用部署到JBoss服务器上,可以实现很多额外的功能。

JAX-RS的实现包括[2]

  • Apache CXF,开源的Web服务框架。

  • Jersey, 由Sun提供的JAX-RS的参考实现。

  • RESTEasyJBoss的实现。

  • Restlet,由Jerome Louvel和Dave Pawson开发,是最早的REST框架,先于JAX-RS出现。

  • Apache Wink,一个Apache软件基金会孵化器中的项目,其服务模块实现JAX-RS规范

Jersey

根据 Java EE 6 教程第1卷:Jersey是由Sun开发的产品级质量的JSR 311: JAX-RS: The Java API for RESTful Web Services的参考实现。Jersey实现了JSR-311中对标注的支持,这使得开发人员使用Java开发RESTfulWeb服务更加容易。除此以外,Jersey还增加了JSR以外的附加特性[3]


你可能感兴趣的:(java,编程语言,服务端,客户端,应用程序)