【发布时间】:2017-02-07 08:10:17
【问题描述】:
我的场景:客户端通过单击jsp1 page 中的按钮打开jsp2 page 窗口。
我想在jsp2 page获取客户的IP
我尝试使用下面提到的代码:
String clientip = request.getRemoteAddr();
但它获得了jsp1 page的IP
为了获取 IP,我无法从 jsp1 page 传递参数。
谁能帮我解决这个问题?
非常感谢您的帮助。
最好的问候。
【问题讨论】:
我的场景:客户端通过单击jsp1 page 中的按钮打开jsp2 page 窗口。
我想在jsp2 page获取客户的IP
我尝试使用下面提到的代码:
String clientip = request.getRemoteAddr();
但它获得了jsp1 page的IP
为了获取 IP,我无法从 jsp1 page 传递参数。
谁能帮我解决这个问题?
非常感谢您的帮助。
最好的问候。
【问题讨论】:
没有 jsp1 页面的 IP - JSP 页面没有 IP 地址。根据ServletRequest.getRemoteAddr() javadoc,该方法返回发送请求的客户端或最后一个代理的 Internet 协议 (IP) 地址 - 即,如果您的 servlet 容器前面有一个代理(例如 Apache HTTPD),您将获得该代理的 IP 地址。
请参阅this answer,了解如何“通过”代理并获取客户端的真实 IP 地址。
【讨论】:
此代码适用于我的情况:
String ip = request.getRemoteHost();
【讨论】: