如何从ContainerRequestContext JERSEY 2.1获取IP?

我的代码是这样的:

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

如何从request获取IP地址?

根据这个JIRA票据,基于这个讨论 ,他们添加了对将HttpServletRequest注入filter的支持,上面的JIRA的代码片段如下所示:

 public class MyRequestFilter implements ContainerRequestFilter { @Context private HttpServletRequest servletRequest; 

然后,您可以使用HttpServletRequest API获取远程IP,请在此处查看完整的Javadoc ,摘录:

的getRemoteAddr

java.lang.String getRemoteAddr()

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

返回:

包含发送请求的客户端的IP地址的String