<HTML>
<BODY>
<%
// This scriptlet declares and initializes "date"
System.out.println( "Evaluating date now" );
java.util.Date date = new java.util.Date();
%>
Hello! The time is now
<%
out.println( date );
out.println( "<BR>Your machine's address is " );
out.println( request.getRemoteHost());
%>
</BODY>
</HTML>
在上面的JSP代码中,我认为request.getRemoteHost()
会返回浏览器主机的ip地址。但是,它返回了类似:0:0:0:0:0:0:0:1
的内容。有什么问题?
答案 0 :(得分:11)
<强> getRemoteHost()强> 返回发送请求的客户端的完全限定名称。
<强>的getRemoteAddr()强> 返回发送请求的客户端的Internet协议(IP)地址。
request.getRemoteAddr()
返回comp的IP地址,而request.getRemoteHost()
尝试退出主机名。如果主机名为为空,则它会尝试检索IP地址,就像getRemoteAddr()的工作方式一样。
答案 1 :(得分:3)
它确实是运行浏览器的计算机的IP,因此它会返回127.0.0.1
,或者在您的情况下::1
,这是IPv6中的localhost。