简介

Jersey是JAX-RS(JSR311)开源参考实现用于构建RESTful Web service,它包含三个部分:

  • 核心服务器(Core Server):通过提供JSR 311中标准化的注释和API标准化,可以用直观的方式开发RESTful Web服务。

  • 核心客户端(Core Client):Jersey客户端API能够帮助开发者与RESTful服务轻松通信;

  • 集成(Integration):Jersey还提供可以轻松继承Spring、Guice、Apache Abdera的库。

在项目中构架:

设置Jersey环境

Maven

<dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-grizzly2-servlet</artifactId><version>${jersey-version}</version></dependency><dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-servlet-core</artifactId><version>${jersey-version}</version></dependency><dependency><groupId>org.glassfish.jersey.media</groupId><artifactId>jersey-media-json-jackson</artifactId><version>${jersey-version}</version></dependency><!-- Required only when you are using JAX-RS Client --><dependency><groupId>org.glassfish.jersey.core</groupId><artifactId>jersey-client</artifactId><version>${jersey-version}</version></dependency>

基本步骤演示:

1.编写一个名为HelloResource的资源,它接受Http Get请求并响应

package com.lgy.resource;import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;import com.lgy.bean.Result;@Path("hello")
public class HelloResource {@Path("say")@GET@Produces(MediaType.TEXT_PLAIN)public String say() {System.out.println("hello world");return "hello world";    }@Path("test")@GET@Produces(MediaType.APPLICATION_JSON)public Result<String> test() {Result<String> result = new Result<String>();result.success("aaaaaa");return result;}
}

2.编写JAX-RS application,并注册HelloResource

package com.lgy.config;import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.server.ResourceConfig;import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
import com.lgy.resource.HelloResource;public class MyApplication extends ResourceConfig {public MyApplication() {//加载Resourceregister(HelloResource.class);//注册数据转换器register(JacksonJsonProvider.class);// Logging.register(LoggingFilter.class);}
}

3.在web.xml核心配置文件配置jersey servlet,随着容器的启动,项目进行启动

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>SpringApplication</servlet-name><servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class><init-param><param-name>javax.ws.rs.Application</param-name><param-value>com.lgy.config.MyApplication</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringApplication</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>
</web-app>

用tomcat或者jetty启动:localhots:8080/hello/say

项目源码(oschina git):https://git.oschina.net/fengchao111/restful-jersey.git

java jersey介绍相关推荐

  1. Java Jersey使用总结

    前言 在短信平台一期工作中,为便于移动平台的开发,使用了Java Jersey框架开发RESTFul风格的Web Service接口.在使用的过程中发现了一些问题并积累了一些经验.因此,做下总结备忘, ...

  2. 流行的9个Java框架介绍: 优点、缺点等等

    流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...

  3. Android下HelloWorld项目的R.java文件介绍

    R.java文件介绍 HelloWorld工程中的R.java文件 package com.android.hellworld; public final class R {     public s ...

  4. java英语介绍_java,英文介绍项目.doc

    java,英文介绍项目 java,英文介绍项目 篇一:Java开发常见英文 Java基础常见英语词汇(共70个) Author:ZW OO: object-oriented ,面向对象OOP: obj ...

  5. Java命令学习系列(零)——常见命令及Java Dump介绍

    Java命令学习系列(零)--常见命令及Java Dump介绍 一.常用命令: 在JDK的bin目彔下,包含了java命令及其他实用工具.  jps:查看本机的Java中进程信息.  jstack ...

  6. java coin介绍_代码示例中的Java 7:Project Coin

    java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...

  7. java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)

    HDFS的Java API Java API介绍 将详细介绍HDFS Java API,一下节再演示更多应用. Java API 官网 如上图所示,Java API页面分为了三部分,左上角是包(Pac ...

  8. js 中转换成list集合_程序员:java集合介绍-List,具说很详细,你不来看看?

    Java集合介绍 作为一个程序猿,Java集合类可以说是我们在工作中运用最多.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加方便开发. Java集合就像一个容器,可以存储任何类型的数 ...

  9. protobuf 3.5 java使用介绍(二)

    protobuf 3.5 java使用介绍(二) 上一篇遗留了两个问题: 1,数据模型中有可能会出现数组格式,而数组里面是一个其他的模型,这个怎么来做? 2,构建数据消息的时候,通常会有一个头,一个体 ...

最新文章

  1. 关于fastlane自动化打包
  2. python中的函数参数主要有四种_python3中函数参数的四种简单用法
  3. BZOJ 4244 邮戳拉力赛 (DP)
  4. QT 调用QWebEngineView显示网页
  5. 忽然看懂了《大话西游》
  6. 二维数组数组名的使用
  7. 使用ST05 研究product extension field deletion
  8. HttpURLConnection, Android访问网络,实用demo
  9. lingo的初步使用(集)
  10. (转) vector的reserve和resize
  11. 主流存储设备的现状和优缺点分析
  12. ASP.NET MVC Json() 处理大数据异常解决方法 json MaxJsonLength
  13. LOIC网站压力测试工具
  14. 采用计算机对酒店客房进行管理,酒店客房部计算机管理.doc
  15. 汉字大全20000个字_男生秀恩爱的说说简短八字 小情话大全暖心8个字
  16. 网站卡顿,推荐这些免费使用加速工具的网站
  17. Yann Martell《少年 pi 的奇幻漂流》
  18. 黑苹果主机z77技嘉wifi主板,
  19. 安卓项目查手机电量功能_安卓手机也能像苹果一样!这一招教你如何查看手机电池损耗...
  20. PostgreSQL - 学习/实践

热门文章

  1. 元宇宙的前景及四大赛道
  2. 浅析医院信息集成平台现状
  3. BAT54肖特基二极管;引脚配置 BAV99 串联二极管规格
  4. set、map与模块化
  5. 洗澡的时候水温把握不住?可能是你没有学好数学
  6. 大学计算机应用基础的简介,大学计算机应用基础资料
  7. android证书制作
  8. sap服务器文件上传,服务器上传数据sap
  9. 机械工业出版社《公司理财》《投资学》《期货、期权及衍生品》错误汇总
  10. MySQL 多个in 条件需要注意的地方