request.getRemoteAddr();方法获取到的IP地址为IPV6地址。
今天在做项目时运用到request.getRemoteAddr();方法来获取用户的IP地址,发现输出为0:0:0:0:0:0:0:1(此为IPV6的地址)。这是因为我利用的localhost:端口号的方式进入到服务器的,自己进入到自己的服务器,而我的设备是支持ipv6地址的,所以自动解析到的就是ipv6。
如果想解析到ipv4可以将进入服务器的方式从localhost:端口号换成127.0.0.1的方式(1217.0.0.1是ipv4
预留的本机ip地址)。也可以找到Tomcat的bin目录下的 catalina.bat文件,在其中加入:
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true %LOGGING_MANAGER%