как определить браузер и ОС в Java-апплете - PullRequest
2 голосов
/ 08 ноября 2010

Я работаю над сложным Java-апплетом, который хорошо работает в Safari и в различных браузерах на Windows и Linux, но имеет проблемы на Macintosh в Chrome и Firefox.Для отладки было бы очень полезно, если бы Java-код мог обнаруживать и сообщать браузер, версию браузера, ОС и версию ОС при возникновении ошибок.

Какой самый простой и надежный способ для Java обнаружить эту информацию?

Это выглядит хорошо, но требует Apache log4j, и я не знаю, смогу ли я убедить команду запуститьчто: http://code.google.com/p/user-agent-utils/'

Я предполагаю, что Java могла бы получить строку user-agent через JavaScript, но я не могу найти хороший пример кода, который ясно показывает, как это сделать.

1 Ответ

3 голосов
/ 08 ноября 2010

Вы можете получить необходимую информацию об ОС по 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 и ОС.В любом случае, вы можете позволить языку программирования на стороне сервера получить его из заголовков текущего запроса и передать его как параметр <object> или <applet> апплету.Вот пример использования JSP / EL:

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

и получения его в апплете следующим образом:

String userAgent = getParameter("userAgent");

После того, как у вас есть строка агента пользователя, вы можете найти веб-сервис по адресуhttp://user -agent-string.info более полезно, чем пользовательский агент использует в Google Code.

...