Spring Framework中的Localhost与127.0.0.1

时间:2016-02-18 00:59:36

标签: java android spring

我正在尝试将弹簧休息服务连接到客户端,这是一个Android设备。

我已经按照本教程创建了我的服务:https://spring.io/guides/gs/rest-service/ 默认情况下,它在端口8080上运行Spring Service。

我的问题是在localhost:8080 / test我从我的服务得到了正确的输出,但在127.0.0.1:8080/test我得到404 Not found。

这有什么理由吗?我特别需要使用android模拟器连接到127.0.0.1以进行调试。

谢谢。

1 个答案:

答案 0 :(得分:2)

这可能是因为Java 7+使用IPv6作为默认值而不是IPv4。因此, localhost 会解析为 ::: 1 而不是 127.0.0.1

尝试以下方法:

只需将-Djava.net.preferIPv4Stack = true传递给java VM选项。

如果这样可行,您可以通过在Linux上设置_JAVA_OPTIONS来使其永久化:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

您可以将上面的行放在/ etc / profile或/etc/profile.d/java.sh中(通过创建文件java.sh)