如何在服务器上运行Java程序?

12

我制作了一个Java应用程序,可以将.csv文件中的数据存储到MySQL数据库中。现在我的客户希望将此应用程序上传到他为其网站获取的Web空间中,以便他可以在该服务器上运行该程序。

我使用 FileZilla 软件将程序上传到他的Web托管服务,但现在我不知道如何在他的服务器上运行该程序。

要在本地系统上运行它,需要打开命令提示窗口来运行它。

Web托管服务必须支持哪些具体功能才能运行该Java程序?

由于它将数据从文件(.csv文件)存储到MySQL数据库中,所以将该程序部署在托管数据库的服务器上是否比将其部署在托管网站的服务器上更好?

4个回答

10

实际上,当我们说“web应用程序”时,通常指的是一种特殊的应用程序,编程在Web服务器上一直运行,等待用户请求进行处理。

在您的情况下,您有一个基于控制台的应用程序。

根据服务器的配置,可以在您的客户端 Web 托管上运行这些应用程序中的任何数量或两者兼而有之。

通常,由托管公司提供 Web 托管,他们可能已准备好配置以运行您的应用程序,可能已经打开或关闭,甚至可能为此收费。

在公司内部服务器的情况下,您需要向客户及其 IT 人员询问配置情况。

最后,您需要问: 1.服务器是否支持SSH?-它只是一个远程控制台。通常在22号端口上运行,并且您可以使用命令“ telnet yourserver 22”(Windows 和 Linux)进行检查-如果它没有拒绝您的连接-表示SSH已经配置。 2.您的服务器是否安装了Java并且通过SSH连接对您的帐户可用?

  1. 只有当您的客户确实是指 Web 应用程序而不是基于控制台的应用程序时,您需要询问服务器是否具有 Java 的 Web 应用程序服务器-通常是类似于 Apache Tomcat、Jetty、JBoss、Weblogic 等的东西。但这种方式需要修改应用程序才能在 Web 服务器上运行。

如果您决定使用控制台应用程序而不是将其“升级”为 Web 应用程序,则确实可以在托管您的数据库的主机上运行它(再次,您将需要 SSH)。您可以节省远程数据库访问操作所需的时间-从理论上讲,您的程序将更快地工作。


当我尝试使用您上面提到的telnet命令时,我收到了以下文本:“SSH-2.0-OpenSSH_5.1”……我认为它支持SSH……我该如何找出它是否安装了Java并且可以通过SSH连接使用… - Amit
首先,您需要从客户那里获取SSH登录/密码。然后,在连接后,您将获得与自己的桌面相同的命令行。尝试像往常一样运行程序(我相信是“java -jar program.jar”)将为您提供答案,以确定Java是否可用。如果不可用,请再次询问您的客户(期望他会将这样的问题转发给主机),看是否可以在那里安装Java。 - seas

5

拥有“网络空间”并不一定意味着他有足够的访问服务器来运行任意程序(或MySql数据库)。

您可以尝试将应用程序重写为Web应用程序,但这可能并不适合。

首先要检查的是他是否可以登录以从某种描述控制台运行程序。如果可以,那很好-就可以继续进行。如果不能,则需要考虑他真正想在自己的Web服务器上运行它的原因,以及是否有必要在那里运行该应用程序-或者是否最好在其他地方运行。


1
+1...我给你解释一下情况...他已经将他的mysql数据库托管在一个服务器上。现在,我编写了一个Java程序,从一个.csv文件中填充数据库...程序和.csv文件在同一个位置...现在根据我的想法,程序应该在存储数据库的同一台服务器上运行,这样程序可以比连接远程数据库更快地存储数据...根据您的看法,最好的方法是什么...访问权限不是问题,因为如果他现在没有足够的访问权限,那么他可以升级或更改他的托管。 - Amit
@Yatendra:那就是你需要做的:确保他拥有支持远程访问(Windows或Unix)并允许他直接从命令行运行Java应用程序的托管方案。许多 Web 托管公司可能不支持此功能,尤其是低端托管服务提供商,但也有一些支持的。一旦你获得了一个允许远程命令行访问的托管环境,你就可以像平常一样运行该应用程序。 - Jon Skeet

2

您的应用程序很可能是控制台应用程序而不是基于Web的应用程序。

您的客户端需要通过SSH连接到服务器并执行以下操作:

java com.foobar.FooBar

或者:

java -jar FooBar.jar

是的,我知道这个命令,但在哪里输入这个命令呢?你能否请解释一下如何通过SSH连接到服务器? - Amit
1
你需要登录到远程服务器才能运行你的程序。 - Zaki

2
如果您的网络主机有Java可用,您可以尝试在不需要SSH的情况下从PHP计划任务中执行它:
<?php system('java -jar /path/to/your/program.jar'); ?>

通过cpanel很容易完成Cron作业。(附注:上面的代码是php文件的代码,不是放在cron页面中的内容,你需要在cron页面中放置php -f /path/to/php/file.php)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接