原文: https://howtodoinjava.com/jersey/jersey-quickstart-archetype-hello-world-application-example/

在此示例中,我们将使用 Eclipse 中的jersey-quickstart-webapp maven 原型创建一个 jersey RESTful API Web 应用。

  1. Table of Contents
  2. Install remote archetypes in eclipse
  3. Create new maven project using jersey-quickstart-webapp
  4. Generated Files
  5. Run The Application

在 Eclipse 中安装远程原型

在创建实际的 Maven 快速入门应用之前,第一步是在 Eclipse 中安装快速入门定义。 这是非常简单的过程,我已经在上一教程中介绍了此信息。

阅读更多:如何在 Eclipse 中导入 Maven 远程原型目录

使用jersey-quickstart-webapp创建新的 Maven 项目

现在,我们创建一个新的 Maven 项目。

`jersey-quickstart-webapp` HelloWorld 示例 - 图1

创建新的 maven 项目

选择默认/其他工作区。

`jersey-quickstart-webapp` HelloWorld 示例 - 图2

选择工作区位置

选择jersey-quickstart-webapp版本。

`jersey-quickstart-webapp` HelloWorld 示例 - 图3

选择jersey-quickstart-webapp版本

填写工件 ID 和组 ID。

`jersey-quickstart-webapp` HelloWorld 示例 - 图4

填写工件 ID 和组 ID

点击“确定”以创建该项目。 项目将在工作区中创建。

生成的文件

让我们看一下生成的文件。

文件夹结构

`jersey-quickstart-webapp` HelloWorld 示例 - 图5

默认生成的文件

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- This web.xml file is not required when using Servlet 3.0 container,
  3. see implementation details https://jax-rs-spec.java.net/ -->
  4. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://www.oracle.com/technetwork/java/index.html; version="2.5">
  5. <servlet>
  6. <servlet-name>Jersey Web Application</servlet-name>
  7. <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  8. <init-param>
  9. <param-name>jersey.config.server.provider.packages</param-name>
  10. <param-value>com.howtodoinjava.demo</param-value>
  11. </init-param>
  12. <load-on-startup>1</load-on-startup>
  13. </servlet>
  14. <servlet-mapping>
  15. <servlet-name>Jersey Web Application</servlet-name>
  16. <url-pattern>/webapi/*</url-pattern>
  17. </servlet-mapping>
  18. </web-app>

pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.howtodoinjava.demo</groupId>
  5. <artifactId>JerseyDemo</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>JerseyDemo</name>
  9. <build>
  10. <finalName>JerseyDemo</finalName>
  11. <plugins>
  12. <plugin>
  13. <groupId>org.apache.maven.plugins</groupId>
  14. <artifactId>maven-compiler-plugin</artifactId>
  15. <version>2.5.1</version>
  16. <inherited>true</inherited>
  17. <configuration>
  18. <source>1.7</source>
  19. <target>1.7</target>
  20. </configuration>
  21. </plugin>
  22. </plugins>
  23. </build>
  24. <dependencyManagement>
  25. <dependencies>
  26. <dependency>
  27. <groupId>org.glassfish.jersey</groupId>
  28. <artifactId>jersey-bom</artifactId>
  29. <version>${jersey.version}</version>
  30. <type>pom</type>
  31. <scope>import</scope>
  32. </dependency>
  33. </dependencies>
  34. </dependencyManagement>
  35. <dependencies>
  36. <dependency>
  37. <groupId>org.glassfish.jersey.containers</groupId>
  38. <artifactId>jersey-container-servlet-core</artifactId>
  39. <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
  40. <!-- artifactId>jersey-container-servlet</artifactId -->
  41. </dependency>
  42. <!-- uncomment this to get JSON support
  43. <dependency>
  44. <groupId>org.glassfish.jersey.media</groupId>
  45. <artifactId>jersey-media-moxy</artifactId>
  46. </dependency>
  47. -->
  48. </dependencies>
  49. <properties>
  50. <jersey.version>2.20</jersey.version>
  51. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  52. </properties>
  53. </project>

MyResource.java

  1. package com.howtodoinjava.demo;
  2. import javax.ws.rs.GET;
  3. import javax.ws.rs.Path;
  4. import javax.ws.rs.Produces;
  5. import javax.ws.rs.core.MediaType;
  6. /**
  7. * Root resource (exposed at "myresource" path)
  8. */
  9. @Path("myresource")
  10. public class MyResource {
  11. /**
  12. * Method handling HTTP GET requests. The returned object will be sent
  13. * to the client as "text/plain" media type.
  14. *
  15. * @return String that will be returned as a text/plain response.
  16. */
  17. @GET
  18. @Produces(MediaType.TEXT_PLAIN)
  19. public String getIt() {
  20. return "Got it!";
  21. }
  22. }

运行应用

为了打招呼,您无需在此项目中做任何事情。 一切都已配置。 只需部署应用。

匹配网址:http://localhost:8080/JerseyDemo/webapi/myresource

`jersey-quickstart-webapp` HelloWorld 示例 - 图6

应用输出

将我的问题放在评论部分。

祝您学习愉快!