2013-07-01 164 views
1

我想下面的代碼,讓我的IP地址在JSP頁面中:request.getRemoteAddr()返回0:0:0:0:0:0:0:1在JSP頁面

<% 
     out.println("Your IP address is " + request.getRemoteAddr()); 
%> 

這將打印0:0:0:0:0:0:0:1,而不是我的IP地址。這是什麼被認爲是?爲什麼不顯示我的IP地址?

感謝

+1

嘗試增加'-Djava .net.preferIPv4Stack = true'到您的servlet容器啓動腳本 – Reimeus

+0

更好的回答:http://stackoverflow.com/questions/17964297/using-request-getremoteaddr-returns-00000001 –

回答

1

這就是你的IP地址,而不是IPv4的(XX.XX.XX.XX),但IPv6的一個(XX:XX:XX:XX:XX:XX:XX:XX)

編輯:如果你的系統是從/向IPv6可以推斷該算法在它們之間改變映射的IPv4通過閱讀this

+0

thanksi我怎麼能得到IPv4之一? – yrazlik

+0

@bigO [wikipedia關於IPv6的文章](http://en.wikipedia.org/wiki/Ipv6)提到了IPv6和IPv4之間的映射約定以及如何實現 – morgano

0

JSP代碼:

<html> 
<head><title>Hello World</title></head> 
<body> 
    Hello World!<br/> 
    <% 
     out.println("Your Host IP address is " + request.getRemoteHost()+"</br>"); 
     out.println("Your Addr address is " + request.getRemoteAddr()+"</br>"); 
     out.println("Your Port Post address is " + request.getRemotePort()+"</br>"); 
    %> 
</body> 
</html> 

使用http:// 127.0.0.1:8081/hello.jsp中得到結果:

Hello World! 
Your Host IP address is 0:0:0:0:0:0:0:1 
Your Addr address is 0:0:0:0:0:0:0:1 
Your Port Post address is 32432 

使用http:// 本地主機:8081/hello.jsp中得到結果:

Hello World! 
Your Host IP address is 0:0:0:0:0:0:0:1 
Your Addr address is 0:0:0:0:0:0:0:1 
Your Port Post address is 32432 
+0

您提供的結果對於這兩個請求都是完全相同的。這就是你想說的,沒有區別? – sorrymissjackson

+0

是的,我經過仔細觀察後,沒有什麼區別......大聲笑 – Wuaner

相關問題