因为你网卡的IP是路由器分给你的,真实的IP只有路由器上才有。所以得到的也就是你自己机器的IP了。如果是外网的人访问的话,才可以得到真正的IP!

解决方案 »

  1.   

    你看一下request对象的ServerVariables方法
    不行的话,你可以使用组件技术了,解决这个问题
      

  2.   

    参考:http://www.0511114.com/tanz/ip.jsp
    String IP=request.getRemoteAddr();
    String id=request.getParameter("id"); //这个不是的
    out.println(IP);
    out.println(id);
    String IP2=request.getRemoteHost(); 
    out.println(IP2);
    out.println('sdsssss');
    //out.println(yy.inet.getHostAddress());
    //out.println(yy.GetSelfAddress.getMyMac());
    try{
    InetAddress localHostAddress =InetAddress.getLocalHost();
    System.out.println(localHostAddress);
    }
    catch(Exception e){}结果 :192.168.0.17 null 192.168.0.17 sdssssssss 192.168.0.3
      

  3.   

    妈的看来JAVA搞不定这个问题,既然ASP能搞定,那有没有网站能提供一个接口,当访问我的网站时,我发一条信息去asp网站返回访问者的IP填到我的数据库里。
      

  4.   

    import java.net.*;
    import java.io.*;public class Connect {
      public Connect() {
      }
      public void getDocument() throws Exception {
        URL url = new URL("http://www.bliao.com:2000/ip.phtml");
        URLConnection conn = url.openConnection();
        InputStream in = conn.getInputStream();
        int count = 0;
        byte[] b = new byte[32];
        while ( (count = in.read(b)) != -1) {
          System.out.println(new String(b,"GBK"));
        }
      }
      public static void main(String[] args) throws Exception {
        Connect connect1 = new Connect();
        connect1.getDocument();
      }}用上面的JAVA可以在本地得到上网IP,但是java是在服务器解析的而服务器没有上网,即使上网IP也是服务器上网的IP,我靠,天要我亡啊,这也搞不定哦。
      

  5.   

    强顶!
    我最近在做无纸化系统,需要返回客户端的IP和MAC地址!
    正在学习呢,有谁可以友情赞助的话不妨给个提示,谢谢!
      

  6.   

    Flarezhao(蓝舍) :
    你实现了吗?能说说是怎么做的吗?
      

  7.   

    这并不是 JSP 的问题你要注意的是:你是在内网访问服务器还是在外网访问服务器内网的 IP 只是在网内唯一标识,但真正与 Internet 交互的是 服务器呀
      

  8.   

    你是不是吧weblogic和iis整合了?
      

  9.   

    web service 是否可以整合 weblogic 和 iis ? 从而实现运行JAVA 和ASP/ASP.NET 。