【问题标题】:Java library suggestions for implementing a custom web server用于实现自定义 Web 服务器的 Java 库建议
【发布时间】:2010-04-16 13:38:36
【问题描述】:

我想创建一个通过 REST 提供/接受 json 文件的 Web 服务器。提供的 JSON 文件将来自数据库查询并将结果格式化为 JSON。 任何关于好的 java 库的建议。我尝试过使用 Apache HTTPComponents。 虽然也许我可以只创建一个 servlet,但我并不能在服务器机器上安装一个 servlet 容器。

编辑: 我只是想创建一个程序,我可以简单地发出一个简单的 java -jar Application.jar 并且一切都已经启动并且可以正常工作。应用程序将侦听机器的某个端口并响应来自浏览器和/或另一个 java 程序的一些请求。看起来 Jetty 会帮我做的。正如我所说,我已经使用 HTTPComponents 实现了一些东西,我只是简单地从请求中解析 URL,并根据解析的 URL 在服务器中做一些事情。

【问题讨论】:

  • 如果您不允许安装 servlet 容器,我不确定他们是否会满意您安装自定义 Web 服务器。这听起来像是最适合 servlet 的工作。

标签: webserver web-services java


【解决方案1】:

我是可敬的Jetty 的忠实粉丝。它小而简单。它技术上是一个 servlet 容器(它更像是一个嵌入式 HTTP 服务器),但您可以将它嵌入到您自己的应用程序中。它还支持Jersey等Java REST库

【讨论】:

    【解决方案2】:

    CXF 是一个很棒的 Web 服务库。它内置了对 REST 的支持,但我自己还没有尝试过这个特定的功能。 CXF 默认使用 Jetty,但它的设计目的是轻松适应 Tomcat 或其他 servlet 容器。

    【讨论】:

      【解决方案3】:

      我建议看看:

      我喜欢他们的地方:

      • 你们俩都可以嵌入运行(作为 jar)。
      • 它们还都支持“异步事件驱动”/NIO 架构。为此,Jetty 有continuations。 NIO 是处理 IO 的新方式,具有更好的扩展能力。

      【讨论】:

      • 您认为 Jetty 会是一个不错的选择吗?也许使用 RESTlet 来实现 RESTful Web 服务?
      • 我认为你们都可以在 Jetty 和 Netty 上实现 REST。老实说,我的第一选择是netty。我最近一直在玩它,我非常喜欢它。占地面积小,速度非常快。但也 Jetty 是一个非常好的包。很多大公司都在使用 Jetty。例如,谷歌的 Java 应用引擎在 Jetty 上运行。实现 REST 接口在很大程度上是我考虑的纪律。很好地记录您的 API。但是 Netty/Jetty 支持 GET/PUT/POST/DELETE 语义(很容易),这是实现 REST API/接口所必需的。
      【解决方案4】:

      您可能想看看 Restlet: Restlet Tutorial

      【讨论】:

        【解决方案5】:

        查看Grizzly 项目

        【讨论】:

          【解决方案6】:

          您真的需要 Web 服务器的所有开销和复杂性吗?听起来您真正需要的只是一个套接字侦听器。

          【讨论】:

            猜你喜欢
            • 2011-09-17
            • 2012-09-05
            • 1970-01-01
            • 1970-01-01
            • 2010-09-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多