Java 我应该为我的项目选择哪个应用程序服务器?

Java 我应该为我的项目选择哪个应用程序服务器?,java,tomcat,jar,glassfish,war,Java,Tomcat,Jar,Glassfish,War,我目前正在为我所在大学的一些研究人员开发一个应用程序。这是一个可以通过命令行使用的小型java程序。下一步是打包该程序并将其部署到应用程序服务器。一些客户端程序将向服务器提交请求,服务器将调用我编写的工具。最近,我们将向服务器添加更多工具,他必须将请求发送到正确的工具。 哪个应用服务器适合我的需要?我寻找过Tomcat、Jetty和Glassfish,但它们似乎只用于web应用程序。 是否可以在不同于web上下文的上下文中使用这些服务器?我应该使用jar、war哪个软件包存档? 有什么建议吗?我

我目前正在为我所在大学的一些研究人员开发一个应用程序。这是一个可以通过命令行使用的小型java程序。下一步是打包该程序并将其部署到应用程序服务器。一些客户端程序将向服务器提交请求,服务器将调用我编写的工具。最近,我们将向服务器添加更多工具,他必须将请求发送到正确的工具。 哪个应用服务器适合我的需要?我寻找过Tomcat、Jetty和Glassfish,但它们似乎只用于web应用程序。 是否可以在不同于web上下文的上下文中使用这些服务器?我应该使用jar、war哪个软件包存档?
有什么建议吗?

我不明白您为什么要将tomcat、glassfish或jetty用于命令行程序

如果它是基于命令行的,并且您希望它在服务器端运行,那么您可以编写一个小程序,允许用户(例如)将telnet连接到您的服务器,从而启动相关的CLI应用程序,并将输入/输出中继到客户端


您可能还想了解Java Webstart,它使新版本的部署变得轻而易举。

我不明白您为什么要将tomcat、glassfish或jetty用于命令行程序

如果它是基于命令行的,并且您希望它在服务器端运行,那么您可以编写一个小程序,允许用户(例如)将telnet连接到您的服务器,从而启动相关的CLI应用程序,并将输入/输出中继到客户端


您可能还想研究Java Webstart,它使新版本的部署变得轻而易举。

您甚至需要应用服务器吗?没有什么可以阻止您添加必要的网络绑定并自行部署它

在您提到的服务器中,您有两种不同的类别:servlet容器和全栈javaee服务器

Tomcat和Jetty是servlet容器。这并不意味着您只能使用它们来处理web内容,您可以手动添加所需的库以获得完整的JavaEE服务器

Glassfish是一个全栈JavaEE服务器,可以与JBoss进行比较,无论是开源的还是商业竞争对手Weblogic和Websphere

有时,这个问题很简单,因为您所处的环境要求使用特定风格的AppServer。你应该先检查一下


如果你没有被迫使用应用服务器,我会问你为什么认为你需要使用应用服务器?

你甚至需要应用服务器吗?没有什么可以阻止您添加必要的网络绑定并自行部署它

在您提到的服务器中,您有两种不同的类别:servlet容器和全栈javaee服务器

Tomcat和Jetty是servlet容器。这并不意味着您只能使用它们来处理web内容,您可以手动添加所需的库以获得完整的JavaEE服务器

Glassfish是一个全栈JavaEE服务器,可以与JBoss进行比较,无论是开源的还是商业竞争对手Weblogic和Websphere

有时,这个问题很简单,因为您所处的环境要求使用特定风格的AppServer。你应该先检查一下

如果你没有被迫使用应用服务器,我会问你为什么认为你需要使用应用服务器

一些客户端程序将向服务器提交请求,服务器将调用我编写的工具

最大的问题是在客户端和服务器之间可以使用什么样的服务器端技术和通信协议。基本上有两个主要选项:HTTP和Web服务,在这种情况下,考虑使用JAX-WS或JAX-RS或RMIIIOP和EJB,在这种情况下,您必须使用像JaseFISH这样的java EE兼容服务器。 我寻找过Tomcat、Jetty和Glassfish,但它们似乎只用于web应用程序

不是真的。正如我所说,它们也可以用于面向web服务的应用程序。GlassFish可以用于EJB应用程序

我应该使用jar、war哪个软件包存档

打包将取决于您将要编写的应用程序的类型,它不是您预先选择的,它只是一个结果。EJB封装在EJB JAR中,通常部署在EAR中;基于Servlet的web服务部署在WAR中

你真的需要考虑一下,根据目前的详细程度,首先使用什么技术,我不能提供更多的指导

一些客户端程序将向服务器提交请求,服务器将调用我编写的工具

最大的问题是在客户端和服务器之间可以使用什么样的服务器端技术和通信协议。在这种情况下,您可以有两个主要选项:HTTP和Web服务,在这种情况下,考虑使用JAX-WS或JAX-RS或RMIIIOP和EJB,您必须使用符合java EE规范的服务器,例如GLASISFISH。

我寻找过Tomcat、Jetty和Glassfish,但它们似乎只用于web应用程序

不是真的。正如我所说,它们也可以用于面向web服务的应用程序。GlassFish可以用于EJB应用程序

我应该使用jar、war哪个软件包存档

打包将取决于您将要编写的应用程序的类型,它不是您预先选择的,它只是一个结果。EJB封装在EJB JAR中,通常部署在EAR中;基于Servlet的web服务部署在WAR中


你真的需要考虑在目前的细节水平下首先使用什么技术,我不能提供更多的指导。

事实上,我们不能用这么少的元素来回答。 -你打算做什么 -用什么技术 -你计划在哪里托管你的应用程序你有预算吗? -客户(甚至未来的客户)使用哪种语言编写? -手机客户端是否会增加一些技术限制。。。

知道客户端将执行什么样的请求,以及服务器将提供什么样的响应也是非常好的

事实上,根据你告诉我们的,所有这些应用服务器都可以做你想做的

我找过Tomcat、Jetty和 玻璃鱼,但看起来它们是 仅用于web应用程序

您甚至可以创建一个webapplication servlet,并在客户端使用httpclient调用该servlet。。。有很多选择:


巴黎万岁

事实上,我们不能用这么少的元素来回答。 -你打算做什么 -用什么技术 -你计划在哪里托管你的应用程序你有预算吗? -客户(甚至未来的客户)使用哪种语言编写? -手机客户端是否会增加一些技术限制。。。

知道客户端将执行什么样的请求,以及服务器将提供什么样的响应也是非常好的

事实上,根据你告诉我们的,所有这些应用服务器都可以做你想做的

我找过Tomcat、Jetty和 玻璃鱼,但看起来它们是 仅用于web应用程序

您甚至可以创建一个webapplication servlet,并在客户端使用httpclient调用该servlet。。。有很多选择:


巴黎万岁

嗨,谢谢你的回答。我们可能使用REST或Web服务。@Dimitri然后看看JAX-WS或JAX-RS标准。GlassFishV3默认情况下为这两者提供了实现,您也可以将它们部署在servlet容器上。谢谢您的回答。我们可能会用玻璃鱼。再见,谢谢!!嗨,谢谢你的回答。我们可能使用REST或Web服务。@Dimitri然后看看JAX-WS或JAX-RS标准。GlassFishV3默认情况下为这两者提供了实现,您也可以将它们部署在servlet容器上。谢谢您的回答。我们可能会用玻璃鱼。再见,谢谢!!