2010-11-07 66 views
2

我正在研究一個複雜的Java小程序,它可以在Safari和Windows和Linux上的各種瀏覽器中正常運行,但在Chrome和Firefox中Macintosh上存在問題。對於調試,如果Java代碼在出現錯誤時可以檢測並報告瀏覽器,瀏覽器版本,操作系統和操作系統版本,這將非常有用。如何在Java小應用程序中檢測瀏覽器和操作系統

什麼是Java最簡單和最可靠的方式來檢測該信息?

這看起來不錯,但需要Apache log4j的,我不知道如果我能說服團隊來運行:http://code.google.com/p/user-agent-utils/'

我猜的Java能得到通過JavaScript的用戶代理字符串,但我找不到任何可以清楚顯示如何做到的示例代碼。

回答

3

您可以通過System#getProperty()獲得必要的操作系統信息如下:

String osName = System.getProperty("os.name"); 
String osVersion = System.getProperty("os.version"); 
String osArch = System.getProperty("os.arch"); 
String javaRuntimeVersion = System.getProperty("java.runtime.version"); 

對於其他人,檢查System#getProperties()的Javadoc。

用戶代理字符串不那麼相關。它畢竟是相同的JVM和OS。無論如何,您可以讓服務器端編程語言從當前的請求標頭獲取它,並將其作爲參數<object><applet>傳遞給小程序。這是一個使用JSP/EL的例子:

<param name="userAgent" value="${header['user-agent']}" /> 

,並獲得它的小程序如下:

String userAgent = getParameter("userAgent"); 

曾經有一次在手的用戶代理字符串,你可以在http://user-agent-string.info比更爲有用找到Web服務用戶代理utils在谷歌代碼。

+0

僅供參考:如果您使用的是32位IE「os.arch」,即使在64位系統上也會爲您提供「x86」 – Makatun 2015-07-24 21:21:53

相關問題