嵌入式 Web 服务器教程:如何在 Java 应用程序启动期间启动嵌入式 HTTP Jersey 服务器

已发表: 2014-07-01

前一段时间,我写了一篇关于如何使用 JAX-RS 和 Jersey 使用 Java 构建 RESTful 服务的教程。 完成所有详细步骤后,您必须将项目部署到Tomcat Web Server ,您应该一切顺利。 通过该教程,您应该能够在大约 20 分钟内简单地创建 RESTFul 服务。

但是在~5 mins完成呢? 有时也很难为您的 Web 应用程序设置 Tomcat。

原因有很多:

  1. 您可能需要将 Tomcat 二进制文件复制到开发环境。
  2. 如果您没有正确配置所有设置,那么您的 Tomcat 应用程序可能无法运行。
  3. 您必须将项目导出为.war项目
  4. 如果您不想在 Tomcat 上部署应用程序并运行简单的 .jar,该怎么办?
  5. 使用 .jar 项目——你将如何启动 http 服务器? 您的应用程序会接受传入的 REST 调用吗?

额外:如何将 CORS 过滤器添加到您的 Jersey Web 应用程序?

您必须将Cross-origin resource sharing添加到您的 Web Jersey 应用程序。 请按照本教程进行相同的操作:

什么是跨域资源共享 (CORS) – 如何将其添加到您的 Java Jersey Web 服务器?

好吧,有一个简单的解决方案。 有一种方法可以仅使用 Java SE API 在 Java 中创建一个非常基本的 HTTP 服务器(仅支持 GET/POST),而无需编写代码来手动解析 HTTP 请求和手动格式化 HTTP 响应。

使用com.sun.net.httpserver.HttpServer ,我们应该可以实现以上所有。

让我们开始吧:

第1步:

创建新的 Java 项目“ CrunchifyJerseyEmbeddedHTTPServer ”。

Java-Project-CrunchifyJerseyEmbeddedHTTPServer

第2步:

将其转换为 Maven 项目。 这将简化我们添加依赖项的工作。 请按照本教程将现有的 Java 项目转换为 Maven 项目。

第 3 步:

在这个项目中,我们只需要一个jersey-server依赖项。

Jersey 服务器 - Maven 依赖

第四步:

com.crunchify.tutorial包下创建JerseyEmbeddedHTTPServerCrunchify.java

第 5 步:

创建您的 REST API。 在同一个包“ com.crunchify.tutorial ”下创建java类CrunchifyAPI.java

第 6 步:

就是这样。 现在右键单击JerseyEmbeddedHTTPServerCrunchify.java并“ Run it as Java Application ”。

第 7 步:

验证结果。 访问此 URL: http://localhost:8085/api ,您应该会在浏览器上看到结果。

Jersey HTTP 服务器浏览器响应

希望你喜欢这个教程。 需要分享任何评论吗?

我是来听的。 谢谢。