转自:http://www.zuidaima.com/share/1550463555816448.htm
最简单的方式是通过HttpServletRequest.getRemoteAddr()的方法得到,但对于代理的服务器需要特殊的方法,另外如果在hosts文件C:\Windows\System32\drivers\etc\hosts中没有指定 127.0.0.1 localhost 的话,本地运行tomcat得到的ip是0:0:0:0:0:0:0:1,是本地机器默认启用ipv6的缘故,如果不想配置localhost也可以在启动tomcat时增加参数 -Djava.net.preferIPv4Stack=true 如下图:
参考资料:
http://blog.csdn.net/taotaoyouarebaby/article/details/8742240
http://*.com/questions/5009426/java-using-a-filter-to-check-remote-address
http://*.com/questions/4678797/how-do-i-get-the-remote-address-of-a-client-in-servlet