如何在java中的jsp中获取实际的服务器名称和IP地址?

时间:2012-01-13 08:07:44

标签: java jsp servlets httprequest

我想在jsp中获取服务器实际名称和IP地址。当我做     request.getServerName()

它返回localhost。但我不希望名称作为localhost但是机器的实际名称(就像在我的情况下它是IBV-0076)。有没有办法可以获得正在处理请求的服务器的IP地址?

当我执行request.getLocalAddr()时,我的地址为0.0.0.0但我的服务器IP是10.253.18.76

4 个答案:

答案 0 :(得分:2)

我会使用NetworkInterfaces来获取有关服务器配置接口的信息。见Oracle What Is a NetworkInterface?

答案 1 :(得分:1)

这还取决于您访问服务器的方式。 请使用用于访问网页的实际服务器IP地址,然后检查结果。 这是因为如果使用服务器的环回IP,接口将绑定到“localhost”主机名。 当您在与服务器相同的计算机上测试webapp时,通常会发生这种情况。

答案 2 :(得分:0)

对于IP地址,您可以为Request-Object找到类似getLocalAdrr()的方法。 另外,您可以使用getRequestURL()检查Servername的网址。

如果您总是得到0.0.0.0,请检查您的服务器的网络配置。

答案 3 :(得分:0)

这是一个带有Servername和IP的示例。它是服务器在其端点上看到的IP(可能因NAT而不同)和客户端使用的serverName,可从客户端访问。 $ {pageContext.request.localAddr}