我的网站托管在本地服务器上,这个网站是由几个本地用户访问的,当我尝试使用java代码时,我希望当他们访问特定页面以获取访问此页面的客户端/用户的操作系统用户时: / p>
String currentUser=System.getProperty("user.name");
它获取服务器的os用户名而不是客户端。
请告知如何实现这一目标,谢谢。
答案 0 :(得分:0)
String userAgent = request.getHeader("User-Agent");
您可以从此网站获取所有用户代理值的完整列表, http://www.user-agents.org/
Javascript Way
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
并将OSName变量发送回服务器。
答案 1 :(得分:0)
创建包含applet的jar,其中applet可以使用System.getProperty("user.name")
获取当前用户名
将httpclient写在同一个applet中,它将当前用户名发送到服务器上的servlet。
调用当前用户方法是applet
将用户名分配给httpclient
使用httpclient
您的程序提供的服务器用户名不是客户端,这就是您必须使用客户端技术的原因,例如位于客户端计算机中的applet。
答案 2 :(得分:0)
使用java方法request.getRemoteUser()
就可以了。