Обнаружение браузера с использованием java/Java EE

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

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

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


person An Object    schedule 06.08.2010    source источник


Ответы (1)


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

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

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

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


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

person BalusC    schedule 06.08.2010
comment
Большое спасибо, это действительно полезно. Мои извинения за поздний ответ. - person An Object; 20.08.2010