【问题标题】:What web server should I use if I want to run Java code behind it?如果我想在它后面运行 Java 代码,我应该使用什么 Web 服务器?
【发布时间】:2011-01-27 05:59:04
【问题描述】:

目前,我有很多 Java 可以做各种漂亮的事情,我对它很满意。该代码是命令行驱动的,到目前为止效果很好,但我最近决定要通过 Web 服务提供该功能。因为 my 很复杂,而且我对它的编写方式很满意,所以我不想经历将它移植到其他语言的痛苦。所以我开始了一次谷歌之旅,以找出存在哪些网络服务器(在 Linux 机器上,尽管听到没有限制的答案很有趣)。

据我所知,似乎有两个可行的选择:Apache TomcatSun Java Server

选择一个放在另一个之上的原因是什么?每个人的优点是什么,缺点是什么?或者,也许还有第三种更容易、更灵活、更简单的方法。

有人吗?

【问题讨论】:

  • Sun Java System Web Server 是一个 Web 服务器(类似于 Apache HTTPD),而 Apache Tomcat 是一个 Servlet/JSP 容器。您正在将苹果与橙子进行比较。

标签: java web-services tomcat java-server


【解决方案1】:

简单、灵活且不繁琐,那就是Jetty,但Simpleweb 也可能有用。您对您的软件没有多说,所以我不太确定,但对于命令行程序,我认为您不需要所有 JavaEE 的东西。
主流服务器为these
我认为 Apache Tomcat 与 Glassfish (Sun Java Server) 的讨论与您的需求无关,任何人都可以。

【讨论】:

  • 据我所知,Sun Java Server 是 Glssfish 企业,与 redhat-fedora 类似。
【解决方案2】:

Apache Tomcat 应该做得很好。

【讨论】:

    【解决方案3】:

    还有many containers for Java web applications,他们都有自己的长处和短处。如果您正在寻找支持业务应用程序的容器,您可能应该看看它们有何不同,并找出适合您的业务和 IT 驱动程序的容器。

    关键是它们都支持 servlet 规范——你的 web 应用程序可以在其中任何一个中运行——这意味着你可以很容易地改变主意。其中一些还将支持更多的 Java 企业版规范,因此可能对您的需求来说太重了。

    如果您刚刚开始,我建议您使用 Tomcat。它是基本的,但它可靠、运行和启动速度快,而且它有一个非常简单的基于 Web 的 Web 应用程序部署界面。

    【讨论】:

      【解决方案4】:

      您的问题实际上有点过于模糊和广泛。事实上,您可以在您喜欢的任何机器上运行 Java 代码,无论您使用哪种语言编写基于 Web 的界面。例如,您可以创建一个基于 PHP 的网站,该网站与“后端”Java 应用程序交互(所谓的“命令行应用程序”)。唯一的要求是在服务器机器上有一个 JRE。然后基本上所有作为 Web 界面的东西就足够了:CGI、PHP、ASP、Python 等等,应有尽有。只要它可以访问底层命令行运行时,这在 PHP 示例中由 exec() 完成。

      但是Java,实际上是Java EE,也提供了Web应用程序编程接口:JSP/Servlet API,大Java EE API的Web组件。这使得与“命令行 Java 应用程序”的集成更加无缝。您基本上可以将您的应用程序放在类路径中,然后以 real Java 方式在 Servlet 类中导入/访问/使用它:

      YourApplication app = new YourApplication();
      Result result = app.doStuff();
      // ...
      

      为了能够运行 JSP/Servlet(JSP 实际上也是一个 Servlet),您需要一个 Servlet API 的具体实现(整个 Java EE 只是一个抽象规范)。 Apache Tomcat 是很好的开始,另一个流行的选择是 Eclipse Jetty。这些是实现 Servlet API 的“简单”servletcontainers,Jetty 是一种更嵌入式的方法(您可以将其配置为“普通”Java 应用程序并将其运行)。但是如果您还需要支持/涵盖 Java EE API 的其他方面,那么您需要一个应用服务器,例如 Sun GlassfishJBoss AS(顺便说一下,两者都使用 Tomcat 作为 servletcontainer 部分)。

      要了解更多关于 JSP/Servlet,我可以推荐Coreservlets.com tutorials

      【讨论】:

        【解决方案5】:

        在 Web 服务器中运行代码的标准概念是 Sun 的“Servlet API”。

        本质上,它提供了一些 Web 服务器用来调用您的代码的接口,并定义了 Web 服务器的行为方式。这使您可以编写非常通用的代码,这些代码可以在实现 Servlet API 的各种 Web 容器中运行。有关详细信息,请参阅 Wikipedia 文章 - http://en.wikipedia.org/wiki/Java_Servlet

        它们也有各种尺寸,具体取决于您的需求。有些小到可以嵌入到您自己的应用程序中,有些非常大。 servlet API 让您不必在意。

        对于初学者来说,启动和运行的最快方法是下载完整版的 Netbeans,其中包括对执行此类工作的完全支持,并具有内置的 servlet 容器。

        【讨论】:

          猜你喜欢
          • 2010-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-13
          • 2010-10-24
          • 2013-06-03
          • 2010-09-27
          • 1970-01-01
          相关资源
          最近更新 更多