Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/rfid/action/RssiRecordAction.java =================================================================== diff -u -r35174 -r35175 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/rfid/action/RssiRecordAction.java (.../RssiRecordAction.java) (revision 35174) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/rfid/action/RssiRecordAction.java (.../RssiRecordAction.java) (revision 35175) @@ -1,6 +1,10 @@ package com.forgon.disinfectsystem.rfid.action; +import java.net.Inet4Address; +import java.net.Inet6Address; +import java.net.UnknownHostException; + import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONObject; @@ -78,6 +82,8 @@ JSONObject result = null; try { result = rssiRecordManager.loadRssiRecordJsonByIp(getRemoteAddr(null)); + System.out.println(Inet4Address.getLocalHost().getHostAddress()); + System.out.println(Inet6Address.getLoopbackAddress()); result = JSONUtil.buildJsonObject(true, result); } catch (Exception e) { e.printStackTrace(); @@ -88,8 +94,9 @@ /** * 获取远程ip * @return 如果是本机 则返回0:0:0:0:0:0:0:1 + * @throws UnknownHostException */ - private String getRemoteAddr(HttpServletRequest request){ + private String getRemoteAddr(HttpServletRequest request) throws UnknownHostException{ if(request == null){ //取得request(通过提交登录请求的方式才可能取到request,测试用例模拟登录的不能取到request) RequestAttributes requestAttributes = null; @@ -107,6 +114,9 @@ }else if(StringUtils.isBlank(request.getRemoteAddr())){ throw new SystemException("获取不到ip"); } + if("0:0:0:0:0:0:0:1".equals(request.getRemoteAddr())){//本机 + return Inet4Address.getLocalHost().getHostAddress(); + } return request.getRemoteAddr(); } }