为什么getRemoteHost()在部署应用程序时返回IP地址?

时间:2015-02-19 16:08:14

标签: java servlets websphere ibm-was

在我的开发环境中,getRemoteHost()成功返回客户端的PC /机器名称。但是,一旦我将应用程序部署到生产环境,getRemoteHost()突然返回IP地址。

有什么需要做才能让它始终返回PC /机器名称?它是在WAS 7.0上运行的Java Web应用程序。

1 个答案:

答案 0 :(得分:4)

来自Java API

java.lang.String getRemoteHost()

Returns the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the hostname (to improve performance), this method returns the dotted-string form of the IP address.

编辑:您可以尝试像这样解析主机名

InetAddress addr = InetAddress.getByName(ipString);
String host = addr.getHostName();
System.out.println(host);

其中ipString是从getRemoteHost()调用返回的IP的虚线字符串形式。