WEB服务器上有个应用,其中有个页面:getIP.jsp ,用户访问getIP.jsp页面,getIP.jsp页面要获取访问它的用户的公网及内网IP,如何做?能实现吗?例如:我是一位用户,访问了http;//www.163.com/getIP.jsp
     我机器的IP:公网202.108.69.222
                内网192.168.22.49那么,getIP.jsp页面如何实现获取公网及内网的地址呢?----------------
看了好多帖子,试了不少方法,可就是不行...也发了不少帖子,没人回吗?
ASP都可以搞定,JAVA就不行吗?

解决方案 »

  1.   

    request.getRemoteAddr();其中request是个HttpServletRequest;
      

  2.   

    不过最好让客户端去请求一servlet.然后这个servlet在转到你那个jsp
    那样比较自然而然的用到了HttpServletRequest ;
    比如象这样
    protected void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException{   
                 doPost(request, response);
    }protected void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException{ 
      response.setContentType("application/keyhole"); 
      PrintWriter out = response.getWriter(); 
      String message ="<Folder><name>Hello World ["   + request.getRemoteAddr()+ "] </name></Folder>";  
     out.println(message);
    }
      

  3.   

    谢谢(冷月无声)
    不过这样做取到的还是代理服务器的地址啊........微软平台很轻松就可以搞定,JAVA难道就不行吗?
      

  4.   

    微软平台很轻松就可以搞定,那就ASP吧。
      

  5.   

    可是我们的平台是JAVA的,只能用JAVA的....是不是我提问的位置不对啊?.......急
      

  6.   

    to 冷月无声http://www.enet.com.cn/article/2004/0901/A20040901339407.shtml
      

  7.   

    谢谢楼主,那么我还想知道ASP能透过防火墙取得客户端真正的ip地址吗.透过代理看来还不型
    现在哪家企业没有防火墙敢连在internate上呢,你说是不是?