【发布时间】:2013-04-23 11:01:55
【问题描述】:
我想在 windows 上获取登录用户名,我的意思是用户使用 java 登录到 windows。我用了
System.getProperty("user.name"); 但我得到的是服务器名称,而不是用户。
【问题讨论】:
-
在什么情况下?电脑?一个网络应用程序?根据文档,
user.name是登录到计算机的帐户的名称。 -
您能否详细说明您的环境?您是在谈论 Web 应用程序还是桌面应用程序?如果它的网络应用程序
System.getProperty("user.name")会给你用户登录的服务器机器。 -
如果您在 JSP 中使用 System.getProperty("user.name"),该 JSP 部署在 Windows 下运行的 Servlet 容器中,作为具有 System 帐户的服务,您将看到主机名,因为那是系统帐户的“真实”名称。
-
为什么每个初学者都认为 Java/JSP 在 webbrowser 而不是 webserver 中运行? Java/JSP 在网络服务器中运行并生成一堆 HTML 代码,这些代码被发送到网络浏览器。为了在 webbrowser 中运行 Java,您需要一个类似于 applet 或 webstart 的客户端应用程序(例如 Swing),您可以通过
<object>元素将其嵌入到生成的 HTML 中。这样,网络浏览器将在自己的(沙盒!)环境中下载并运行它。