用getAddress方法获得IP地址
getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。getAddress方法的定义如下:
引自:http://www.blogjava.net/nokiaguy/archive/2009/04/21/266732.html private String getRemoteAddr(HttpServletRequest request) { String remoteIp = request.getHeader("X-Real-IP"); //nginx反向代理 if (StringUtils.hasText(remoteIp)) { return remoteIp; } else { remoteIp = request.getHeader("x-forwarded-for");//apache反射代理 if (StringUtils.hasText(remoteIp)) { String[] ips = remoteIp.split(","); for (String ip : ips) { if (!"null".equalsIgnoreCase(ip)) { return ip; } } } return request.getRemoteAddr(); } }