Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何获取客户端PC名称?_Spring_Jsp_Authorization - Fatal编程技术网

Spring 如何获取客户端PC名称?

Spring 如何获取客户端PC名称?,spring,jsp,authorization,Spring,Jsp,Authorization,在我的项目中,我想获得客户端用户的PC名称 但我使用的方法只是给我服务器的PC名称: System.get(user.name) 对不起,你不能直接去 您最好的选择是用户代理标题。您可以在JSP或Servlet中得到这样的结果 String userAgent = request.getHeader("User-Agent"); 标题看起来像这样 User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9

在我的项目中,我想获得客户端用户的PC名称 但我使用的方法只是给我服务器的PC名称:

System.get(user.name)

对不起,你不能直接去

您最好的选择是用户代理标题。您可以在JSP或Servlet中得到这样的结果

String userAgent = request.getHeader("User-Agent");
标题看起来像这样

User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.13) Gecko/2009073021 Firefox/3.0.13
它提供了有关浏览器的详细信息。然而,它几乎是自由格式,所以很难破译每一个。您只需要确定支持哪些浏览器,并为每种浏览器编写解析器。当您尝试识别浏览器的版本时,请始终先检查较新版本。例如,IE6用户代理可能包含IE5以实现向后兼容性。如果您先检查IE5,IE6也将被归类为IE5

您可以从此网站获取所有用户代理值的完整列表

使用用户代理,您可以知道浏览器的确切版本。您可以对操作系统有一个很好的了解,但可能无法区分同一操作系统的不同版本,例如,Windows NT和2000可能使用相同的用户代理

记住客户端可能位于代理后面的范围

一个明智的想法是使用javascript并通过ajax调用发送信息

浏览器、操作系统、屏幕颜色、屏幕分辨率、Flash版本和Java支持都应该可以从JavaScript中检测到,甚至更多。但是,至少在所有浏览器中都不能使用计算机名

你可以“有时”用IE来做这件事,就像我在内联网上的一个内部应用程序上做的那样,内联网上的应用程序只是IE。请尝试以下操作:

function GetComputerName()
{
    try
    {
        var network = new ActiveXObject('WScript.Network');
        // Show a pop up if it works
        alert(network.computerName);
    }
    catch (e) { }
}