2

私は複雑な Java アプレットに取り組んでいます。このアプレットは、Safari や、Windows と Linux のさまざまなブラウザーでうまく動作しますが、Macintosh の Chrome と Firefox では問題があります。デバッグの場合、Java コードがブラウザー、ブラウザーのバージョン、OS、およびエラーが発生したときに OS のバージョンを検出して報告できると非常に役立ちます。

Javaがその情報を検出する最も簡単で信頼できる方法は何ですか?

これは良さそうですが、Apache log4j が必要です。チームにそれを実行するよう説得できるかどうかわかりません: http://code.google.com/p/user-agent-utils/ '

Java は JavaScript を介してユーザー エージェント文字列を取得できると思いますが、その方法を明確に示している適切なサンプル コードが見つかりません。

4

2 に答える 2

3

次のようにして、必要な OS 情報を取得でき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");

その他については、の javadoc を確認してくださいSystem#getProperties()

ユーザー エージェント文字列はあまり関係ありません。結局、同じJVMとOSです。とにかく、サーバー側のプログラミング言語が現在の要求ヘッダーからそれを取得し、それを<object>or<applet>パラメーターとしてアプレットに渡すことができます。JSP/EL を使用した例を次に示します。

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

次のようにアプレットで取得します。

String userAgent = getParameter("userAgent");

ユーザー エージェント文字列が手元にあれば、Google Code のユーザー エージェント ユーティリティよりもhttp://user-agent-string.infoの Web サービスの方が便利であることに気付くかもしれません。

于 2010-11-07T23:14:27.517 に答える