这几天调试别人写好的代码,在获取ip地址时总是获取不到本地真实的ip地址,需要注意的几点如下:

1.java代码如下:

ActionContext actionContext = invocation.getInvocationContext();HttpServletRequest request = (HttpServletRequest) actionContext.get(ServletActionContext.HTTP_REQUEST);HttpServletResponse response = (HttpServletResponse) actionContext.get(ServletActionContext.HTTP_RESPONSE);String ip = request.getRemoteAddr();String method = request.getMethod();String contentType = request.getContentType();String characterEncoding = request.getCharacterEncoding();

2.前台ajax代码如下:

 
function tiao(){  $.ajax({ type: 'post', url: "v1/myAction/add", contentType: "application/json", data: JSON.stringify(GetJsonData()),  async:false, dataType:'json', success: function(data){ console.log(data) }, error:function(data){ console.log("ajax error"); console.log(data); } });}function GetJsonData() {    var json = {        "data": [                 {                        "advertName": "advertName1" ,                       "industryId": "1" ,                       "advertUrl": "http://url.com",                        "companyName": "company1",                       "mobilePhone": "13800138000" ,                       "email": "advertName1@qq.com"                 },                   {                         "advertName": "advertName2",                        "industryId": "2",                        "advertUrl": "http://url2.com",                        "companyName": "company2",                        "mobilePhone": "13800138002",                        "email": "advertName2@qq.com"                }         ],           "authHeader": {                 "dspId": "048",                   "token": "048"         } };    return json;}

3.jsp测试代码:

tiao

4.设置本地固定ip地址:

 这里可以去百度具体做法。。。(注意:其中首选DNS服务器和备用的DNS服务器不能相同,备用的可以随便输入)

(PS:作者不会上次图片)

5.修改本地的hosts文件

   路径为:C:\Windows\System32\drivers\etc\hosts

   直接打开这个文件是不用修改的,需要用管理员身份运行。

# localhost name resolution is handled within DNS itself.	127.0.0.1       localhost#	::1             localhost

    确保为以上代码  注释掉    # ::1  localhost 

#	::1             localhost

(记事本 右键 “更多”--》“以管理员身份运行”,“文件”--》“打开”--》选择hosts文件的路径,打开之后,ctrl+s保存)

 6.  确保以上都一切具备之后下面开始测试:

启动本地tomcat,访问项目:

    (1)输入url 为:(

     获取的ip地址为:    "ip" 0:0:0:0:0:0:0:1

     PS:其实这是正常的,接着往下看

    (2)输入url为:(

      获取的ip地址为:    "ip" 127.0.0.1

    PS:这也是正常的

    (3)找另一台机器 输入url:  (

    这是我自己机器的IP地址。

    别人访问后,可以获取到别人的真实IP地址。

    ok测试完成!

7.我自己觉得只能通过别人才能访问才能知道有没有获取IP地址成功!

本人菜鸟一个,有错误的地方,希望大家指出来,共同学习!