本文主要是介绍Jersey,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前提要求
- 对SpringMVC有一定的使用经验
- 有RESTful的经验
概述
JAX-RS(Java API for RESTful Web Services)是Java语言领域RESTful风格的Web服务器的标准规范。直至JavaEE 6 通过JCP组织的JSR311将REST在Java语言领域标准化。JSR311其中一个实现是GlassFish项目的Jersey1.0,在时隔5年后JavaEE7包含了JSR339,即JAX-RS2.0,JAX-RS2.0在前面的版本基础上加上了很多实用功能,比如REST客户端API的定义,异步REST等。
JAX-RS的版本对应是实现的Jersey版本信息,如下表:
JAX-RS标准 | JAX-RS名称 | JAX-RS实现 | JDK版本 |
---|---|---|---|
311 | JAX-RS1.0 | Jersey 1.0 | Java 6 |
339 | JAX-RS 2.0 | Jersey 2.0 | Java 7 |
Spring MVC,其也实现REST,但并没有对JAX-RS标准做实现。若之前有使用Spring MVC的经验,用Jersey起来用容易上手。
入门
Jersey包括三个部分:
- 核心服务器(Core Server):经过提供JAX-RS中标准化的注解和API标准化,能够用直观的方式开发RESTful Web服务。
- 要做RESTful Web服务,就要添加这个依赖。
- 核心客户端(Core Client):Jersey客户端API可以帮助开发者与RESTful服务轻松通讯。
- 如果要做测试,写单元测试,通过Jersey的API去测试,你做的web服务能不能正常通信,能不能正常返回之类的,那就需要添加这个依赖。我们现在目前用不到,我们一般是使用浏览器或者postman等工具去测试
- 集成(Integration):Jersey还提供能够轻松与Spring集成。
这里入门仅仅使用了核心服务器,没有使用Spring,在Tomcat服务容器环境运行。
项目准备
新建Maven项目,打包方式为war,pom.xml主要内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>jersey01-web</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet --><dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-servlet</artifactId><version>2.23.2</version></dependency><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version><scope>provided</scope></dependency></dependencies><build><plugins><!-- Tomcat Maven插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>80</port><path>/</path><uriEncoding>UTF-8</uriEncoding></configuration></plugin></plugins></build>
</project>
编写资源类
提供对外访问的资源的方法(类似Spring MVC中的控制器)
这篇关于Jersey的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!