Строка браузера агента пользователя доступна в виде заголовка HTTP-запроса с именем User-Agent
. Заголовки запроса в формате JSF доступны по ExternalContext#getRequestHeaderMap()
:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
String userAgent = externalContext.getRequestHeaderMap().get("User-Agent");
Нет необходимости извлекать необработанный API сервлетов из-под колпаков JSF. Всегда обращайте внимание на javadoc ExternalContext
в первую очередь, когда вам нужен доступ к запросу или ответу сервлета HTTP.
Имейте в виду, что заголовки запроса (как и все остальное в HTTP-запросе) полностью контролируются конечным пользователем . Поэтому никогда не допускайте, чтобы информация была правильной и действительной. Используйте это только для статистики. Если вам необходимо определить особенности, настоятельно рекомендуется использовать языки на стороне клиента, такие как JavaScript и / или CSS, если это возможно. Они могут сделать это намного надежнее.