Jsp中如果获取客户端真实IP的二个方法:

  方法一:

  public String getRemortIP(HttpServletRequest request)

        {

  if (request.getHeader("x-forwarded-for") == null)

        {

    return request.getRemoteAddr();

  }

  return request.getHeader("x-forwarded-for");

  }

  方法二

  public String getIpAddr(HttpServletRequest request) {

  String ip = request.getHeader("x-forwarded-for");

  if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

  ip = request.getHeader("Proxy-Client-IP");

  }

  if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

  ip = request.getHeader("WL-Proxy-Client-IP");

  }

  if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

  ip = request.getRemoteAddr();

  }

  return ip;

  }

        如果多级代理的话,X-Forwarded-For值有一串IP地址.第一个IP地址是真实的IP地址.如X-Forwarded-For的值为:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100,那么真实的地址就是:192.168.1.110