问题解决了,IP字典我在数据库里有这个表,因为里边用的10进制,开始我没看明白,后来从网上找了代码,这里发给大家 String strIP = request.getRemoteAddr(); long [] ip= new long[4];
int position1=strIP.indexOf("."); int position2=strIP.indexOf(".",position1+1); int position3=strIP.indexOf(".",position2+1); ip[0]=Long.parseLong(strIP.substring(0,position1)); ip[1]=Long.parseLong(strIP.substring(position1+1,position2)); ip[2]=Long.parseLong(strIP.substring(position2+1,position3)); ip[3]=Long.parseLong(strIP.substring(position3+1)); long nt = (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]; System.out.println(nt);然后和数据库的值比较就可以,折腾了一下午。
这个地址有的,下载一下吧
String strIP = request.getRemoteAddr();
long [] ip= new long[4];
int position1=strIP.indexOf(".");
int position2=strIP.indexOf(".",position1+1);
int position3=strIP.indexOf(".",position2+1);
ip[0]=Long.parseLong(strIP.substring(0,position1));
ip[1]=Long.parseLong(strIP.substring(position1+1,position2));
ip[2]=Long.parseLong(strIP.substring(position2+1,position3));
ip[3]=Long.parseLong(strIP.substring(position3+1));
long nt = (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3];
System.out.println(nt);然后和数据库的值比较就可以,折腾了一下午。