Java Spring框架中的Localhost vs 127.0.0.1
我正在尝试将SpringREST服务连接到android设备的客户端 我遵循本教程创建我的服务: 默认情况下,它在端口8080上运行Spring服务 我的问题是,在localhost:8080/test上,我从服务中获得了正确的输出,但在127.0.0.1:8080/test上,我没有找到404 这有什么原因吗?我特别需要连接到127.0.0.1,以便使用android仿真器进行调试Java Spring框架中的Localhost vs 127.0.0.1,java,android,spring,Java,Android,Spring,我正在尝试将SpringREST服务连接到android设备的客户端 我遵循本教程创建我的服务: 默认情况下,它在端口8080上运行Spring服务 我的问题是,在localhost:8080/test上,我从服务中获得了正确的输出,但在127.0.0.1:8080/test上,我没有找到404 这有什么原因吗?我特别需要连接到127.0.0.1,以便使用android仿真器进行调试 谢谢。这可能是因为Java 7+使用IPv6作为默认值,而不是IPv4。因此,localhost解析为::1,而
谢谢。这可能是因为Java 7+使用IPv6作为默认值,而不是IPv4。因此,localhost解析为::1,而不是127.0.0.1 请尝试以下操作: 只需将-Djava.net.preferIPv4Stack=true传递给JavaVM选项 如果这样做有效,您可以通过在Linux上设置_JAVA_选项将其永久化:
export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
您可以将上述行放在/etc/profile或/etc/profile.d/java.sh内(通过创建java.sh文件)尝试
nslookup localhost
。您应该获得127.0.0.1
;如果您得到了其他东西,请使用它。我得到了127.0.0.1,但这并不能真正解决我的问题。假设您使用的是带有Spring see的默认Tomcat。我最终在VM选项中指定了-Dserver address=127.0.0.1和-Dserver port=1320,这似乎有效。谢谢。谢谢,你救了我的命!