如何从ContainerRequestContext JERSEY 2.1获取IP?

时间:2015-02-02 14:57:46

标签: java request jersey ip

我的代码是:

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

 }

如何从request获取IP地址?

1 个答案:

答案 0 :(得分:11)

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

public class MyRequestFilter implements ContainerRequestFilter {

  @Context
  private HttpServletRequest servletRequest;

然后,您可以使用HttpServletRequest API获取远程IP,请参阅完整的Javadoc here,摘录:

  

的getRemoteAddr

     

java.lang.String getRemoteAddr()

     

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

     

返回:

     

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