Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从ContainerRequestContext 2.1获取IP?_Java_Request_Jersey_Ip - Fatal编程技术网

Java 如何从ContainerRequestContext 2.1获取IP?

Java 如何从ContainerRequestContext 2.1获取IP?,java,request,jersey,ip,Java,Request,Jersey,Ip,我的代码是: public void filter(ContainerRequestContext request) throws IOException { // can I get Ip from request????? } 如何从请求获取ip地址?根据此票据,基于此,他们添加了对将HttpServletRequest注入您的过滤器的支持,来自上述JIRA的代码片段如下所示: public class MyRequestFilter implements Containe

我的代码是:

public void filter(ContainerRequestContext request) throws IOException 
  {
   // can I get Ip from request?????

 }
如何从
请求
获取ip地址?

根据此票据,基于此,他们添加了对将
HttpServletRequest
注入您的过滤器的支持,来自上述JIRA的代码片段如下所示:

public class MyRequestFilter implements ContainerRequestFilter {

  @Context
  private HttpServletRequest servletRequest;
然后,您可以使用
HttpServletRequest
API获取远程IP,请参阅完整摘录:

getRemoteAddr

java.lang.String getRemoteAddr()

返回发送请求的客户端或最后一个代理的Internet协议(IP)地址。对于HTTP servlet,与CGI变量REMOTE\u ADDR的值相同

返回:

包含发送请求的客户端的IP地址的字符串


没有为我工作:(我有以下错误:
java.lang.IllegalArgumentException:在scope org.glassfish.jersey.process.internal.requestScope中尝试为javax.servlet.http.HttpServletRequest创建代理时发生错误
My servlet为空,因此我无法获取远程IP。还有谁拥有sa我的问题?这是我们面临的同一个问题。对此有任何更新吗?Jersey 2.0的哪个版本可以工作?
2.25.1
对我不起作用。此外,JIRA票证链接已断开。