簡體   English   中英

如何在Java中的JSP中獲取實際的服務器名稱和IP地址?

[英]How to get actual server name and ip address in jsp in java?

我想在jsp中獲取服務器的實際名稱和IP地址。 當我確實request.getServerName()

它返回我本地主機。 但是我不希望名稱為localhost而是機器的實際名稱(例如在我的情況下為IBV-0076)。 有沒有辦法我也可以獲取正在處理請求的服務器的IP地址?

當我執行request.getLocalAddr()時,我的地址為0.0.0.0,但我的服務器IP為10.253.18.76

我將使用NetworkInterfaces獲取有關服務器配置的接口的信息。 請參見Oracle什么是NetworkInterface?

這也取決於您訪問服務器的方式。 請使用用於訪問網頁的輔助服務器IP地址,然后檢查結果。 這是因為如果使用服務器的環回IP,則該接口將綁定到“ localhost”主機名。 當您在與服務器相同的計算機上測試Webapp時,通常會發生這種情況。

這是帶有服務器名和IP的示例。 它是服務器在其端點上看到的IP(可能由於NAT而有所不同)和客戶端使用的serverName,並且可以從客戶端訪問。 $ {pageContext.request.localAddr}

對於IP地址,您可以為請求對象找到類似getLocalAdrr()方法。 另外,您可以使用getRequestURL()檢查服務器名稱的URL。

如果您始終獲得0.0.0.0,請檢查服務器的網絡配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM