Tomcat中的HttpServletRequest.getRemoteAddr()返回IPv6格式的IP地址

时间:2012-06-13 15:23:48

标签: java tomcat ipv6 windows-7-x64 ipv4

Tomcat中的HttpServletRequest.getRemoteAddr()返回IPv6格式的IP地址,但我想配置它返回IPv4。

我通过'localhost'访问servlet。如果我通过'127.0.0.1'访问它,则返回IPv4格式的IP地址(参见this answer)。

环境:

  • Windows 7 x64
  • Tomcat 6.0.35-windows-x64

我的局域网连接属性: 已检查IPv6 ,但如果我将其打开则无效。

My LAN connection properties

2 个答案:

答案 0 :(得分:15)

尝试将此参数-Djava.net.preferIPv4Stack=true添加到tomcat启动命令行。

答案 1 :(得分:0)

当您使用localhost / xxx时,您的浏览器首先必须找到名为“localhost”的映射地址。在系统主机文件中,您将找到:

  

#127.0.0.1 localhost

     

#:: 1 localhost

默认情况下禁用两个定义。

要更改浏览器的默认匹配规则,您必须启用定义。

例如:从第一个主机文件行中删除“#”,您的浏览器将直接知道“localhost”等于127.0.0.1

干杯