多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Jersey2 HelloWorld 示例 – Jersey2 教程 > 原文: [https://howtodoinjava.com/jersey/jersey2-hello-world-example/](https://howtodoinjava.com/jersey/jersey2-hello-world-example/) 我已经发布了许多教程,以使用 RESTEasy 开发 [REST api](//howtodoinjava.com/restful-web-service/)。 在本 **Jersey2 教程**中,我将详细介绍配置步骤,以设置 [Jersey2 示例](https://jersey.java.net/) Web 应用项目。 ```java Table of Contents 1\. What changed from Jersey 1.x to Jersey2.x 2\. Jersey2 maven dependencies 3\. web.xml Changes 4\. Jersey rest api code ``` ## 1\. 从 Jersey 1.x 到 Jersey2.x 改变了什么 开发了 Jersey 1.x 的 Jersey 团队[加入了新组织 GlassFish](https://stackoverflow.com/questions/17089250/difference-com-sun-jersey-and-org-glassfish-jersey) ,并且所有新的升级版本均从 2.x 开始发布。 它改变了框架功能的许多方面。 您可以在[官方迁移指南](https://jersey.java.net/documentation/latest/migration.html#mig-1.x)中查看更改列表。 尽管他们在指南中涵盖了许多更改,但是您可能会面临许多其他更改,并且可能会很难解决这些问题。 记住。 ## 2\. Jersey2 Maven 依赖项 首先更改,您需要在 jersey 1.x 应用中创建 pom.xml。 依赖项发生了变化。 在 Jersey2.x 项目中使用以下依赖项。 我正在使用 Jersey2.19(最新日期)。 我的`pom.xml`文件如下所示。 ```java <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>com.howtodoinjava.jersey</groupId> <artifactId>JerseyDemos</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <repositories> <repository> <id>maven2-repository.java.net</id> <name>Java.net Repository for Maven</name> <url>http://download.java.net/maven/2/</url> <layout>default</layout> </repository> </repositories> <properties> <jersey2.version>2.19</jersey2.version> <jaxrs.version>2.0.1</jaxrs.version> </properties> <dependencies> <!-- JAX-RS --> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>${jaxrs.version}</version> </dependency> <!-- Jersey2.19 --> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>${jersey2.version}</version> </dependency> </dependencies> <build> <finalName>JerseyDemos</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project> ``` ## 3\. Jersey2 示例 – `web.xml`更改 您需要在`web.xml`文件中进行第二次更改。 通常,更改是将旧的包名称替换为新的包名称。 ```java <!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>jersey-serlvet</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.howtodoinjava.jersey</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-serlvet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> ``` ## 4\. Jersey2 示例 – REST API 代码 REST 服务代码将基本相同。 如果发现任何问题,只需参考迁移指南或给我评论。 ```java package com.howtodoinjava.jersey; import javax.ws.rs.GET; import javax.ws.rs.Path; @Path("/message") public class JerseyService { @GET public String getMsg() { return "Hello World !! - Jersey2"; } } ``` 当您在 *tomcat 8* 服务器中的 *Jersey2* 应用上方运行并点击 URL“`http://localhost:8080/JerseyDemos/rest/message`”时,会显示以下消息。 ![jersey-2 HelloWorld](https://img.kancloud.cn/c6/78/c6788376864ecc5a1056e0b001bd3835_978x367.png) jersey-2 HelloWorld If you find [java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer exception](//howtodoinjava.com/jersey/solved-java-lang-classnotfoundexception-org-glassfish-jersey-servlet-servletcontainer/) in application start up, then find the solution in linked post.[源码下载](//howtodoinjava.com/wp-content/uploads/2015/08/JerseyDemos.zip) 学习愉快! 参考:[Jersey 2 用户指南](https://jersey.java.net/documentation/latest/user-guide.html)