2

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

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

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

任何人?

4

5 回答 5

5

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

于 2010-03-13T20:34:03.483 回答
2

Java Web 应用程序的容器有很多,它们都有自己的优点和缺点。如果您正在寻找支持业务应用程序的容器,您可能应该看看它们有何不同,并找出适合您的业务和 IT 驱动程序的容器。

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

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

于 2010-03-13T20:37:00.420 回答
1

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

但是 Java,实际上是 Java EE,也提供了 Web 应用程序编程接口:JSP / Servlet API,大型Java EE API的 Web 组件。这使得与“命令行 Java 应用程序”的集成更加无缝。您基本上可以将您的应用程序放在类路径中,然后以真正的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 教程

于 2010-03-14T04:50:47.863 回答
0

Apache Tomcat 应该做得很好。

于 2010-03-13T20:36:04.500 回答
0

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

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

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

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

于 2010-03-14T07:31:33.483 回答