首页 > 代码库 > 2.Jersey

2.Jersey

什么是Jersey

  Jersey是JAX-RS标准的参考实现,是Java领域中开发REST式Web服务的"正统"工具。Jersey项目是GlassFish项目的一个子项目。

Jersey官方地址

  https://jersey.java.net/         英语比较好的同学可以到官网直接学习.

Jersey的七大模块

  •   核心模块
  •   容器模块
  •   连接器模块
  •   Media模块
  •   拓展模块
  •   测试框架模块
  •   GlassFish Bundle

  (1)核心模块

 

模块名称模块说明源代码对应目录
jersey-clientJersey核心客户端实现core-client
jersey-commonJersey通用包core-common
jersey-serverJersey核心服务器实现core-server

 

 

 

 

 

(2)容器模块

模块名称模块说明源代码对应目录
jersey-container-grizzly2-httpGrizzly 2版HTTP容器containers/grizzly2-http
jersey-container-grizzly2-servletGrizzly 2版Serlet容器container/grizzly2-servlet
jersey-container-jdk-httpJDK版HTTP容器contailer/jdk-http
jersey-container-servletJersey核心Servlet3.x实现container/jersey-servlet
jersey-container-servlet-coreJersey核心Servlet2.x是实现container/jersey-servlet-core
jersey-container-simple-http简单HTTP容器container/simple-http

 

(3)连接器模块

    Jersey客户端底层依赖连接器实现网络通信,如果标准客户端模块无法实现功能需求,可以考虑引入Grizzly连接器或者Apache连接器

(4) Media模块

  支持Jersey处理传输数据媒体类型的模块。

(5)拓展模块

  Jersey生产环境中包含了许多JAX-RS2.0标准之外的功能,比如MVC,Bean验证辅助REST实现的模块,还有像Spring支持包这样的对第三方框架支持的模块

模块名称模块说明源代码相对目录
jersey-media-json-jacksonJersey JSON Jackson包media/json-jackson
jersey-media-json-jettisonJersey JSON Jettiosn包media/json-jettison
jersey-media-json-processingJersey JSON-P(JSR353)包media/json-processing
jersey-media-moxyJersey JSON Eclipse Link MOXy包media/moxy
jersey-media-multipartJersey Multipart支持包meida/multipart
jersey-media-sseJersey Server Sent Events支持包media/sse 
jersey-bean-validationBean Validation(JSR-349)支持包ext/bean-validation
jersey-mvcMVC支持包ext/mvc
jersey-mvc-freemarkerFreemarker模板支持包ext/mvc-freemarker
jersey-mvc-jspJSP模板支持包ext/mvc-jsp
jersey-proxy-client高层客户端代理支持包ext/proxy-client
jersey-servlet-portability兼容Jersey1和Jersey2的Servlet容器支持包ext/servlet-portability
jersey-wadl-docletJavadoc支持包ext/wadl-doclet
jersey-spring3Spring3支持包ext/spring3

 

 

 

 

 

 

 

 

 

 

 

(6) 测试框架模块

Jersey提供了非常易用和强大的测试框架

模块名称模块说明源代码相对目录
jersey-test-frame-coreJersey核心测试框架test-framework/core
jersey-test-framework-provider-bundle测试框架Bundle支持包test-framework-providers/bundle
jersey-test-framework-prodiver-default-client测试框架客户端包test-framework-providers/default-client
jersey-test-framework-provider-external测试框架拓展容器test-framework-providers/external
jersey-test-framework-grizzly2测试框架Grizzly2容器test-framework/providers/grizzly2
jersey-test-framework-provider-inmemory测试框架内存容器test-framework/providers/inmemory
jersey-test-framework-provider-jdk-http测试框架JDK版HTTP容器test-framework/providers/jdk-http
jersey-test-framework-provider-simple测试框架简单版HTTP容器test-framework/providers/simple

  

 

 

 

 

 

 

 

 

 

 

 

 

 

(7) GlassFish  bundle模块

    GlassFish Bundle模块是Jersey提供的用于以Bundle方式支持GlassFish服务器的模块,包括CDI和EJB集成的拓展包

 

关于GlassFish项目

      Jersey处于GlassFish生态环境中,GlassFish又是Java EE生态环境的实现描述

和Jersey项目关系紧密的项目

  (1) HK2

     HK2是轻量级DI架构,实现了IOC和ID的内核,是Jersey实现容器内管理Bean的基础。

  (2)Grizzly

     Grizzly是一个异步I/O的,高效而健壮的服务器,可以用作HTTP服务器.Servlet容器,支持AJP,Comet,WebSocket

  (3)EclipseLink

    是JPA2.1的一个实现。JPA2.1的是实现中,最常用的是JBOOS的Hibernate

  (4)Metro

    是JSR中多个标准的官方实现集,目的是为了实现全栈式的Web Service

  (5)Open MQ

    JMS2.2的参考实现,简化JMS的API

  (6)Mojarra

    JSF2的官方实现。全栈式,事件驱动的B/S开发模式框架,包括浏览器端凤舞的小组件,服务器端覆盖JavaEE的各种特征。JSF的另一个是是APACHE的MyFaces。

 (7) OpenJDK

   开源JDK

 

其他REST框架

  • JBoss的RESTEasy
  • APache的CXF
  • Reslet
  • LinkedIn的Rest.li
  • Spring WEB MVC项目

  

 

2.Jersey