2015-02-11 88 views
-1

请问我有一个连接到MySQL数据库的Java桌面应用程序,我想通过网络运行应用程序。如何动态获取系统名称?

这是我迄今为止所做的。 我的Java应用程序生成一个批处理文件,该文件指向.jar文件的原始本地文件,因此我只需将此批处理文件放在其他客户机系统中并运行它们,以便他们只需在服务器系统上找到.jar文件并打开该应用程序即可。

但我有一个问题,我有一个场景,我不知道服务器的系统名称,所以我不能在MySQL数据库连接字符串中指定它。

请问我该如何动态获取系统名称并将其传递到数据库连接字符串中,以便客户端系统也可以连接到相同的服务器或数据库?

+0

如果你不想实现某种广播/检测机制,你必须以某种方式知道你的目标服务器来解决他的问题。 – Smutje 2015-02-11 07:58:34

+0

你能用命令行参数启动'.jar'文件吗? 'java -jar myjar.jar -server 10.0.10.100'然后你可以在你的主要方法中解析这些参数。 – 2015-02-11 08:01:22

+0

我似乎不了解你。但是如果我将服务器名称写入文本文件并尝试从客户端系统中读取它,又会如何呢......我又一次动态地获取系统名称,因此指定的路径也必须不同。我如何实现这一目标? – Andrew 2015-02-11 08:04:48

回答

0

这可能会帮助你,你可能会发现

import java.net.InetAddress; 

代码

String myip=(InetAddress.getLocalHost()).toString(); 

在这里,你会得到用“/”分隔的电脑名称和IP地址

String data[]=myip.split("/"); 

     System.out.println(data[0]); // Machine name 
     System.out.println(data[1]); //Ip address