request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法

问题:

在近期开发的javaweb项目中,需要记录登录时的电脑ip地址和主机名,通过request.getRemoteAddr()和request.getRemoteHost()得到的值都是0:0:0:0:0:0:0:1。

原因:

0:0:0:0:0:0:0:1是属于ipv6,后来我又进行另一台电脑做测试,发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),这是hosts配置文件的问题 。

解决方法:

注释掉文件中的 # ::1 localhost 这一行即可解决问题。网上这种方式可以,但我这样做不可以 
最有效的方式就是改变请求的ip,不要使用localhost:8080 
使用127.0.0.1:8080或者ip:8080。

 

posted @ 2017-09-10 20:47  小猴子爱吃桃  阅读(866)  评论(0编辑  收藏  举报