我试了一下,,题主的方法没错,,就是本地访问本地时,不会用IP地址(测出来的,找了半天不知道什么原因。)
解决方法
【1】set.add("192.168.31.168");改成 set.add("127.0.0.1");
【2】request.getRemoteAddr();;//获得客户端的IP,,获取到的id题主可以打印一下,,是“0:0:0:0:0:0:0:1”
需要用下面方法获取,,,
String ip = getRemoteAddress((HttpServletRequest) request);
/**
* 获取访问IP
* @param request
* @return
*/
public String getRemoteAddress(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.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ip;
}
有什么问题还可以追问,,,,,有帮助请采纳