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

如何在服务器上运行java程序?,java,mysql,Java,Mysql,我制作了一个java应用程序,它将.csv文件中的数据存储到MySql数据库中。现在,我的客户希望它将这个应用程序上传到他的web空间(他为自己的网站占用的web空间),以便他可以在该服务器上运行该程序 我曾使用FileZilla软件将程序上传到他的主机上,但现在我不知道如何在他的服务器上运行该程序 要在localsystem上运行它,它需要打开一个命令提示符窗口来运行它 web主机是否必须支持任何特定功能才能运行该java程序 由于它将数据从文件(.csv文件)存储到MySql数据库,那么最好

我制作了一个java应用程序,它将.csv文件中的数据存储到MySql数据库中。现在,我的客户希望它将这个应用程序上传到他的web空间(他为自己的网站占用的web空间),以便他可以在该服务器上运行该程序

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

要在localsystem上运行它,它需要打开一个命令提示符窗口来运行它

web主机是否必须支持任何特定功能才能运行该java程序


由于它将数据从文件(.csv文件)存储到MySql数据库,那么最好将该程序部署在数据库所在的服务器上,而不是网站所在的服务器上?

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

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

java com.foobar.FooBar
或:

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

您可能会将该应用程序重写为web应用程序,但这可能并不适合

首先要检查的是他是否可以从某种描述的控制台登录运行程序。如果他可以的话,那很好——这就是路。如果他不能,你需要考虑为什么他真的希望它出现在他的web服务器上,以及在那里运行应用程序是否有意义,或者在其他地方运行是否更好。

实际上,说“web应用程序”,我们通常指的是一个特殊的应用程序,可以一直在web服务器上运行,只是等待用户的请求来处理

在您的例子中,您有一个基于控制台的应用程序

根据服务器的配置,这些应用程序中的任何一个都不能在您的客户机web主机上运行,无论是其中的任何一个还是两者都不能

因为,通常web托管是由托管公司提供的,所以他们可能已经准备好了运行应用程序的配置,可以打开/关闭,甚至可以为此付费

对于内部公司服务器,您需要要求您的客户及其IT人员对此进行配置

最后,您需要问: 1.服务器是否支持SSH?-它只是一个远程控制台。通常它在端口22上运行,您可以使用命令“telnet yourserver 22”(windows和linux)检查它—如果它不拒绝您的连接—意味着配置了SSH。 2.您的服务器是否安装了java?您的帐户是否可以通过SSH连接使用java

  • 只有当您的客户真正指的是web应用程序而不是基于控制台的应用程序时,您才需要询问服务器是否有用于Java的web应用程序服务器——通常是Apache Tomcat、Jetty、JBoss、Weblogic等,但这种方式需要修改应用程序才能在web服务器中运行

  • 如果您决定使用控制台应用程序,而不是将其“升级”到web应用程序,那么您确实可以在数据库运行的主机上运行它(同样,您需要SSH)。您将节省远程数据库访问操作的时间-理论上,您的程序将运行得更快。

    如果您的Web主机有可用的java,您可以尝试从php cronjob执行它,而不需要ssh:

    <?php system('java -jar /path/to/your/program.jar'); ?>
    
    
    

    Cron作业很容易从cpanel中完成。(注意,上面是php文件的代码,不是你放在Cron页面中的代码,你把php-f/path/to/php/file.php放在Cron页面中)

    是的,我知道这个命令,但是在哪里给这个命令。。。你能解释一下SSH到服务器的情况吗?你必须登录到远程服务器才能运行你的程序。+1。。。我向你解释这个场景。。。他在服务器上托管了mysql数据库。现在我已经制作了一个java程序,它从.csv文件填充数据库。。程序和.csv文件位于同一位置。。。现在按照我的想法,程序应该在数据库所在的同一台服务器上运行,这样程序可以快速存储数据,而不是与远程数据库建立连接。。。你认为最好的方法是什么。。。访问权限不是问题,因为如果他现在没有足够的访问权限,那么他可以升级或更改其权限hosting@Yatendra:那么这就是你应该做的:确保他拥有支持远程访问(Windows或Unix)并允许他直接从命令行运行Java应用程序的主机。许多网络托管公司可能不支持这一点,特别是那些非常低端的公司,但也有一些公司支持这一点。一旦你有了一个允许远程命令行访问的托管环境,你就可以正常运行应用程序了。当我试图发出上面你告诉我的telnet命令时,我收到了以下文本。。。“SSH-2.0-OpenSSH_5.1”。。。。。。。我认为它支持SSH。。。我如何才能发现它已经安装了java,并且可以通过SSH连接使用……首先,您需要从客户端获取SSH登录名/密码。然后,在连接之后,您将获得与您自己的桌面相同的命令行。如果java可用,尝试像往常一样运行程序(“java-jar-program.jar”我相信)会给你一个答案。如果没有,请再次询问您的客户(希望他将此问题转发给hoster)是否可以在那里安装java。
    <?php system('java -jar /path/to/your/program.jar'); ?>