【问题标题】:HTTP End point to service the request [closed]为请求提供服务的 HTTP 端点 [关闭]
【发布时间】:2015-10-14 16:35:06
【问题描述】:

我正在为应用程序设计一个小组件。该组件的作用是为用户请求提供一个HTTP Endpoint,并返回响应。

我的问题是,我是否必须通过 servlet 提供请求/响应?如果它恰好是 Servlet,我是否不得不将它部署在全栈应用服务器上。原因是我没有大量数据要处理。

我正在寻找这方面的简单解决方案,我会请求是否有人可以帮助我。

【问题讨论】:

  • 我想知道为什么有人标记这个反对票
  • 我的问题是基于一些概念的实现,以一种更简单的方式,而不是对一些“工具”提出任何建议。我找不到任何理由将这个问题作为题外话搁置。这个问题还有助于了解在低数据管理的情况下可以做什么,以及什么可以替代全栈应用程序服务器。
  • 同意Hoysala...我不认为这是题外话。如果我读到如何将某事标记为“推荐”,它会说:“推荐问题”是“您没有描述问题,您只是要求列出事物”的简写。 - 在这种情况下,他确实描述了他的问题 - 他想公开简单的 HTTP 端点。
  • 他问:“我必须使用 servlet 来服务它吗?”和“我是否必须将它部署在全栈应用服务器上”——这是问题的“如何”部分。

标签: java http tomcat servlets application-server


【解决方案1】:

如果你想留在 Java 世界,我建议你 Spring Boot 在你的应用程序中提供嵌入式 HTTP 服务器(Tomcat、Jetty...)。因此,您不依赖任何外部应用程序服务器。它非常简单(类似于 main-method)实现,并且会为您提供您可能需要的一切(包括 Spring)。

如果您不想包含 Spring,则可以使用普通的 Tomcat/Jetty。这也是有效的,但 Spring Boot 可能对您有用,因为它为您提供了您可能需要/喜欢(现在或将来)的实用程序。

还可以选择使用 com.sun 包中的 HttpServer 实现,但只有在我确定将使用 Oracle Java 时我才会使用它。

请注意,我觉得“外部”应用程序服务器的时代即将结束。甚至 ThoughtWorks 在他们的Technology radar 中也将应用程序服务器搁置(搁置 = 我们没有“避免”环,但我们确实将我们希望客户不会使用的东西放入搁置环中)。

【讨论】:

  • 但是我不想隐式或显式地使用任何应用服务器。我正在寻找是否可以为 http 请求创建一个入口点并在我的业务逻辑中处理这些请求(数据)
  • 你需要创建某种 HTTP 服务器。当然,您可以自己实现,只使用套接字,但您不希望这样。嵌入式 Tomcat / Jetty 不是真正的全栈应用服务器,它们非常轻量级。
  • 您最终可以从 com.sun 包中使用 HttpServer,但这会使您依赖于 Oracle JRE。
  • d1x 好的,将尝试使用 sun 包中的 HttpServer。由于我没有太多数据要处理,我说,我不想使用任何重量级/全栈服务器,如 tomcat。但是,如果 Jetty 或 Embedded tomcat 看起来很轻巧,我什至可以选择它们。此外,我可以尝试开发它是否有意义,即如果它不是多余的。谢谢你的信息。
  • 我更新了答案,为您提供有关选项的更多信息
猜你喜欢
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 2019-10-09
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多