Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getRemoteAddr()在JSP页面中返回0:0:0:0:0:0:0:1_Java_Jsp_Ip - Fatal编程技术网

Java getRemoteAddr()在JSP页面中返回0:0:0:0:0:0:0:1

Java getRemoteAddr()在JSP页面中返回0:0:0:0:0:0:0:1,java,jsp,ip,Java,Jsp,Ip,我正在尝试使用以下代码在jsp页面中获取我的ip地址: <% out.println("Your IP address is " + request.getRemoteAddr()); %> 这打印的是0:0:0:0:0:0:0:1,不是我的ip地址。这就是所谓的吗?为什么不显示我的ip地址 谢谢这是您的IP地址,但不是IPv4(xx.xx.xx.xx)而是IPv6地址(xx:xx:xx:xx:xx:xx:xx) 编辑:如果您的系统正在将IPv4从/映射到IPv

我正在尝试使用以下代码在jsp页面中获取我的ip地址:

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

这打印的是0:0:0:0:0:0:0:1,不是我的ip地址。这就是所谓的吗?为什么不显示我的ip地址


谢谢

这是您的IP地址,但不是IPv4(xx.xx.xx.xx)而是IPv6地址(xx:xx:xx:xx:xx:xx:xx)

编辑:如果您的系统正在将IPv4从/映射到IPv6,您可以通过读取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://localhost: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
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

@bigO提到了IPv6和IPv4之间的映射约定,以及如何尝试将
-Djava.net.preferIPv4Stack=true
添加到servlet容器启动脚本更好的回答:您提供的两个请求的结果完全相同。这就是你想说的,没有区别吗?是的,经过我仔细观察后,没有区别……萝莉,这是嗯。。。一个有趣的答案。。。一个我无法想象的问题