繁体   English   中英

如何使用JSF获取用户的浏览器ID?

[英]How to get user's browser id using JSF?

是否可以使用JSF获得用户的浏览器ID号? 我将JBoss 7用于应用程序服务器。

浏览器的用户代理字符串可用作HTTP请求标头,名称为User-Agent 请求标头在JSF中,由ExternalContext#getRequestHeaderMap()

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
String userAgent = externalContext.getRequestHeaderMap().get("User-Agent");

无需从JSF引擎下拖出原始Servlet API。 每当您需要访问HTTP Servlet请求或响应时,请始终先查看ExternalContext的javadoc。

请记住,请求标头(与HTTP请求中的其他所有内容一样)由最终用户完全控制 因此,切勿假设信息正确无误。 仅将其用于统计。 如果需要进行特征检测,请尽可能使用JavaScript和/或CSS等客户端语言。 他们可以更可靠地做到这一点。

您可以从request读取user-agent标头,以获取有关浏览器的详细信息

((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getHeaders();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM