当我们用到httpServletRequest.getRemoteAddr()的时候,我们在控制台上可以看到遇到了request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1,而不是127.0.0.1,这是什么原因呢?0:0:0:0:0:0:0:1是ipv6的格式,我们该如何做才能够正常显示出来用户的ip呢?解决方法可以有一下两个:
1、把URL上的localhost改成127.0.0.1
2、是/etc/hosts这个东西作怪(在windows上应该是C:\Windows\system32\drivers\etc\ hosts这个文件),只需要注释掉文件中的 # ::1 localhost 这一行即可解决问题。另外localhost这个文件很有用,这里你可以添加自己的条目,例如添加 192.168.0.212 myweb 这样子,在浏览器中原来只能使用192.168.0.212来访问的,并可以使用myweb来进行替换。