java - 如何使用java获取客户端系统ip?

标签 java jsp servlets

<分区>

我正在开发网络应用程序,我需要知道谁在访问我的网络应用程序,因为我需要运行我的应用程序的系统的 ip (ipv4) 地址。我正在使用 jsp 和 servlet 谁能帮我解决这个问题???

我尝试了下面的代码,但每次用户访问应用程序时它都会显示我的 ip 地址。但我需要客户端 ip (ipv4) 地址。

try {
                 Enumeration e = NetworkInterface.getNetworkInterfaces();

                 while(e.hasMoreElements()) {
                    NetworkInterface ni = (NetworkInterface) e.nextElement();
                    System.out.println("Net interface: "+ni.getName());

                    Enumeration e2 = ni.getInetAddresses();

                    while (e2.hasMoreElements()){
                       InetAddress ip = (InetAddress) e2.nextElement();
                       System.out.println("IP address: "+ ip.toString());
                    }
                 }
              }
              catch (Exception e) {
                 e.printStackTrace();
              }

最佳答案

在HttpServletRequest对象上,可以使用下面的函数获取远程主机:

request.getRemoteHost()

关于java - 如何使用java获取客户端系统ip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25905920/

相关文章:

java - 错误 500--内部服务器错误 java.lang.NoClassDefFoundError : javax/servlet/jsp/jSTL/core/Config

java - Do While 循环跳过用户输入

html - 显示 :inline rendering as display:block 的 Span 标记

java - AngularJS + servlet + EJB (J2EE) : is it a combination acceptable according to MVC pattern?

servlets - 向与数据库交互的 Servlet 提交表单会导致空白页面

java - 如何将文本附加到 Java 中的现有文件?

java - 如何在 ImageView 中的可见图像周围创建边框

java - 通过jsp执行SQL语句不给出本地时间

java - 需要 Struts 帮助

java - 在 IIS 7 上安装 Coldfusion 11 并在尝试运行 servlet 时看到错误 404.0