2012-06-13 242 views
2

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

我通過'localhost'訪問servlet。如果我通過「127.0.0.1」訪問它,則返回IPv4格式的IP地址(請參閱this answer)。

環境:

  • Windows 7的64位
  • 的Tomcat 6.0.35-Windows的64位

我的LAN連接屬性: IPv6的檢查關,但它不如果我檢查它也不工作。

My LAN connection properties

+0

嗯...我們2012年的IPv6變得越來越流行,你禁用它? – glglgl

回答

14

嘗試添加該參數-Djava.net.preferIPv4Stack=true到Tomcat啓動命令行。

+0

出色地工作! – davorp

+0

我該如何做到這一點 – saikiran

0

當你使用localhost/XXX,你的瀏覽器首先要找到映射地址爲名爲 「localhost」。在系統主機文件,你會發現:

#127.0.0.1本地主機

#:: 1 localhost

這兩個定義默認情況下都是禁用的。

要更改瀏覽器的默認匹配規則,您必須啓用定義。

如:刪除「#」從第一主機文件中的行,你會布勞爾知道directily「本地主機」 127.0.0.1等於

乾杯