2015-02-11 137 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