Обнаружение браузера с использованием Java / Java EE - PullRequest
4 голосов
/ 06 августа 2010

Для достижения совместимости браузера в приложении мне нужен класс Java / Bean / Jar, который будет возвращать следующую информацию:

  • текущий браузер пользователя
  • ее имя
  • версия
  • ОС пользователя

Любая мысль по этому поводу будет действительно полезной.Это должно хорошо работать в последних версиях всех современных браузеров, таких как Chrome, Safari и Opera.Как я могу решить это лучше всего?

1 Ответ

6 голосов
/ 07 августа 2010

Поскольку данные пользовательского агента чрезвычайно чувствительны к изменениям, и вы хотите делегировать поддержку данных сторонним организациям, рассмотрите возможность использования общедоступного веб-сервиса, такого как http://user -agent-string.info . У них также есть пример Java для службы XML-RPC.

Вы можете получить пользовательский агент текущего запроса, используя HttpServletRequest#getHeader().

String userAgent = request.getHeader("User-Agent");

Используйте это как параметр для веб-службы.


Тем не менее, если у вас действительно есть проблемы с совместимостью в области HTML / CSS / MSIE, вам следует рассмотреть условные комментарии . Если в области JS, используйте функция обнаружения . Вы не должны полагаться на пользовательский агент и, конечно, не на стороне сервера. Подумайте над тем, чтобы опубликовать новый вопрос о проблеме, для которой вы подумали, что перехватить пользовательский агент на стороне сервера - это решение. Вы получите гораздо более подходящие ответы.

...