我想在jsp中获取服务器实际名称和IP地址。当我做 request.getServerName()
它返回localhost。但我不希望名称作为localhost但是机器的实际名称(就像在我的情况下它是IBV-0076)。有没有办法可以获得正在处理请求的服务器的IP地址?
当我执行request.getLocalAddr()时,我的地址为0.0.0.0但我的服务器IP是10.253.18.76
答案 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}