Java 如何获取web服务客户端的IP地址?

Java 如何获取web服务客户端的IP地址?,java,Java,我使用Eclipse(luna)、Tomcat8和Axis2创建了一个web服务。为此,我用Java编写了一个类“AddOperator”,将服务定义为以下内容: public class AddOperator { public int add(int x,int y) { return x+y; } } public class AddClientOpp { public static void main(String[] args) throws

我使用Eclipse(luna)、Tomcat8和Axis2创建了一个web服务。为此,我用Java编写了一个类“AddOperator”,将服务定义为以下内容:

public class AddOperator {
    public int add(int x,int y) {
        return x+y;
    }
}
public class AddClientOpp {
    public static void main(String[] args) throws RemoteException  {
        AddOperatorStub stub = new AddOperatorStub();

        Add add = new Add();
        add.setX(25);
        add.setY(30);

        System.out.println(stub.add(add).get_return());
    }
}  
我还创建了一个客户端,该客户端使用“AddClientApp”类创建此服务,如下所示:

public class AddOperator {
    public int add(int x,int y) {
        return x+y;
    }
}
public class AddClientOpp {
    public static void main(String[] args) throws RemoteException  {
        AddOperatorStub stub = new AddOperatorStub();

        Add add = new Add();
        add.setX(25);
        add.setY(30);

        System.out.println(stub.add(add).get_return());
    }
}  
现在,我需要通过我的web服务获得客户端的IP地址。我搜索并找到了一些允许这样做的方法和代码部分,例如:

import javax.servlet.http.HttpServletRequest;

//...

private static String getClientIp(HttpServletRequest request) {
    String remoteAddr = "";

    if (request != null) {
        remoteAddr = request.getHeader("X-FORWARDED-FOR");
        if (remoteAddr == null || "".equals(remoteAddr)) {
            remoteAddr = request.getRemoteAddr();
        }
    }
    return remoteAddr;
}
或:

但我不知道在哪里可以将这些代码部分或方法集成到上面描述的web服务创建过程中

如果有人对此有想法,请告诉我该怎么做。这对我的项目非常重要


谢谢。

您可以使用以下代码检索客户端地址:

MessageContext.getCurrentMessageContext().getProperty(MessageContext.REMOTE_ADDR)

为什么您要告诉我们关于
AddOperator
addclientapp
?我正在讲述AddOperator和addclientapp,看看是否需要将IP地址检索代码集成到这些类中。如果是,那么正确的IP地址检索代码是什么?您的意思是
AddOperator
可能比
GetClientIP
更合适?我很困惑。不,我不是这个意思。但我只想知道,为了获得IP,我必须做什么以及如何进行?(我是网络服务领域的新手)!!