我也同样关注此问题,我只知道思路,不知道jsp中有什么方法。一般只靠本机无法获取,只有把请求发到另一台机器,然后再返回,谁知道有什么方法?如果有人能只用本机获取,说来听听。

解决方案 »

  1.   

    String ip=request.getRemoteAddr();
      

  2.   

    楼主,呵呵,我的贴子已经解决了,看看keiy()给我的方法:
    import java.net.*;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.io.*;public class Urltest { /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    DataInputStream is;
    URL url = new URL("http://www.whatismyip.com/");
    URLConnection connection = url.openConnection(); is = new DataInputStream(connection.getInputStream());
    String inputline;
    Pattern p = Pattern
    .compile("(Your IP[ \\-Is]+)(\\d+\\.\\d+\\.\\d+\\.\\d+)");
    Matcher m;
    String YourIP = new String();
    while ((inputline = is.readLine()) != null) {
    //System.out.println(inputline);
    m = p.matcher(inputline);
    if (m.find()) {
    YourIP = m.group(2);
    break; //这里可以退出循环了
    } }
    System.out.println("Your IP is:" + YourIP);
    }}
      

  3.   

    外网这样写:
    <%
       out.print("你的IP为:");
       out.print(request.getRemoteAddr());
       out.print("<br/>");
      
    %>
    不过,一般没有外网的话,用别人提供的也可以,像http://www.whatismyip.com/。
    详情可以看看我的贴子:
    http://community.csdn.net/Expert/topic/4340/4340038.xml?temp=.5516168