Jersey 入门案例
来源:互联网 发布:左轮枪cad图纸数据 编辑:程序博客网 时间:2024/06/06 09:49
Jersey 入门案例
简介
最近公司项目一直在用Restful 进行开发,我们使用的框架是Jersey框架,所以分享出来与大家一起学习。
具体RESTful的介绍,网上有很多资料,成熟的框架也很多,大家可以去网上查找,这里就不过多介绍。
Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。
API地址 https://jersey.java.net/apidocs/latest/jersey/index.html
Jersey有以下优点:
- 轻量级,快速开发
- 优秀的文档和案例
- 与Spring较好的集成
- 可以集成到其它库/框架 (Grizzly, Netty)
快速入门
本章主要用于完成Jersey框架的Hello World项目。通过该项目可以使第一次解除Jersey框架的朋友,对Jersey框架有一个整体的了解。
系统要求
本次项目使用与Grizzly集成的Jersry框架,使用的java版本为JDK1.8。
Maven依赖
项目需要使用到的Maven依赖有Jersey依赖、Spring依赖、Jersey与Spring整合依赖
具体的Pom文件内容如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.lx</groupId> <artifactId>chapter1-1</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>chapter1-1 Maven Webapp</name> <url>http://maven.apache.org</url> <!--设置参数--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--jersey版本--> <jersey.version>2.21</jersey.version> </properties> <dependencies> <!-- Jersey 依赖 --> <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-moxy</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-bean-validation</artifactId> <version>${jersey.version}</version> </dependency> <!-- Jersey + Spring 整合包--> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>${jersey.version}</version> <!--排除jersey spring 整合中带的spring 依赖--> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> </exclusions> </dependency> <!--引入 Spring 依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.2.1.RELEASE</version> </dependency> </dependencies> <build> <finalName>chapter1-1</finalName> </build></project>
基本项目结构
整体项目结构就是一个普通的Maven web项目,资源包用于编写RESTful服务。
web.xml配置文件
web.xml配置文件主要用于读取Spring的配置文件,设置Jersey使用的Servlet等内容。
具体内容如下:
Hello World服务
- 列表项为了便于理解,我们将服务所在的包命名为xxx.resource,也即为资源包。
-创建HelloResource类,对于提供服务的类,Jersey框架不需要继承任何类或者实现任何接口,也即普通的java类即可。
@Path注解表示该服务的访问路径,Jersey支持强大的注解开发,具体常用的注解会在后面章节进行介绍。
启动测试
将项目放到Tomcat下运行。
对于Jersey提供的RESTful服务有两种测试方式,
一种是访问http://localhost:8080/application.wadl,看到如下页面,表示服务提供成功。
另一种是访问http://localhost:8080/hello/hello,看到返回hello表示服务提供成功
web.xml文件另一种编写方式
前面介绍的web.xml的配置方式,是初始化Jersey 使用的Servlet时,声明提供服务的资源包所在的位置。如果对应的资源包较多,或者后期使用到过滤器等组件时,现在的配置方式就不能满足使用需求了,所以在开发中博主推荐使用下面的方式进行配置。
- 编写程序入口Application类
相对于资源类不需要继承或者实现不同,Application需要继承ResourceConfig类,并在该类初始化时,声明服务所在的资源包,具体代码如下
ApplicationPath表示该程序入口对应的路径。类似于Servlet在web.xml中配置 的路径。 - web.xml中配置程序入口
web.xml中的改变,只需要调整下初始化Servlet时,初始化参数即可,由原来的配置资源包位置,调整为现在的配置程序入口,也即Application类。 - 测试
具体的测试方式和前面的介绍的测试方式一致。
使用Grizzly启动服务
前面介绍项目的启动方式是通过Tomcat启动服务,项目正式上线时需要使用该方式启动,但是我们在开发过程中,每次都使用Tomcat的相对较为麻烦,由于我们使用的是与Grizzly集成的Jersey框架,所以我们可以使用Grizzly来自动服务。
- 引入依赖
使用Grizzly启动服务,需要多引入三个依赖. - 编写Main方法
注意图片中的红色提示,确保导包正确。 - 测试
启动该Main方法,正常启动会报以下提示,之后按照上面介绍的方式测试即可。
到现在我们Jersey的入门Hello World程序已经全部介绍完成。
- Jersey 入门案例
- Eclipese下Maven+Jersey+Tomcat入门案例
- Jersey 入门与Javabean
- Jersey 入门与Javabean
- jersey 简单入门。
- Jersey 入门与Javabean
- Jersey入门例子
- Jersey 入门与Javabean
- Jersey入门与javaBean
- Jersey 入门(一)
- Jersey 入门(二)
- Jersey实现REST入门实例
- JAX-RS之Jersey入门
- jersey实现rest入门实例
- Jersey框架入门学习:Jersey图片服务器搭建总结
- 入门案例
- jersey
- Jersey
- iphone 里面使用for in遍历localStorage的特别情况
- java中静态、有无返回值、是否含参数总结
- Android正则表达式判断手机号码的格式
- java常用算法总结
- number_format()数据格式化
- Jersey 入门案例
- 已获取当前元素,获取元素父节点的方法
- a33-支持8723bu的蓝牙mic
- iOS开发-二维码扫描和应用跳转
- 知乎上那些简短却让你印象深刻的回答
- JAVA第一阶段总结
- Linux基本命令
- 标准c++中string类函数介绍
- 深度优先搜索与广度优先搜素(岛屿的面积有多大)