JSF kullanarak kullanıcının tarayıcı kimliği numarasını almak mümkün mü? Uygulama sunucusu için JBoss 7 kullanıyorum.JSF kullanarak kullanıcının tarayıcı kimliği nasıl alınır?
cevap
tarayıcıya
((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getHeaders();
hakkında ayrıntılı bilgi almak için request
den user-agent
başlığını okuyabilir tarayıcı en user agent string adıyla User-Agent
HTTP istek başlığında olarak kullanılabilir. istek başlıklarını ExternalContext#getRequestHeaderMap()
tarafından kullanılabilir JSF şunlardır:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
String userAgent = externalContext.getRequestHeaderMap().get("User-Agent");
MTU davlumbaz altından ham Servlet API çekmek gerek yok. Her zaman HTTP sunucu isteği veya yanıtına erişmeniz gerektiğinde, her zaman ExternalContext
'un javadoc'una bakın. İstek başlıklarının (HTTP isteğindeki diğer her şey gibi) son kullanıcı tarafından tamamen denetlenebilir olduğu unutulmamalıdır. Bu yüzden bilgilerin doğru ve geçerli olduğunu asla varsaymayın. Sadece istatistik için kullanın. Özellik tespiti yapmanız gerekiyorsa, mümkünse JavaScript ve/veya CSS gibi istemci taraf dillerini tercih edin. Bunu daha güvenilir bir şekilde yapabilirler.
Bu işe yarıyor mu? Dize teklifi = (HttpServletRequest) FacesContext.getCurrentInstance(). GetExternalContext(). GetRequest(). GetHeaders(); Netbeans'da 7.1 hata veriyor: sembol bulamıyor: method getHeaders() –
Bir şey daha. İstemcinin tarayıcı seri numarasını JSF'de görüntülemenin bir yolunu mu arıyorsunuz? Mümkün mü? –
'getRequest()', 'getHeader()' değil, yayınlanmalıdır. – BalusC