我想在我的jsp页面中获取客户端的IP地址,并希望存储在数据库中。
我正在Jsp页面中使用以下代码来查找IP地址,但它显示的是服务器IP地址。
<input type="hidden" name="ipaddress" value="<%=request.getRemoteAddr()%>"/>
在通常情况下,方法ServletRequest.getRemoteAddr()(或getRemoteHost()和getRemotePort())应返回实际客户的详细信息。但是,如果它是通过代理或其他servlet引擎路由的,您将获得这些机器的IP。为了解决这些情况,您可以尝试以下操作
ServletRequest.getRemoteAddr()
getRemoteHost()
getRemotePort()
request.getHeader("VIA") --> Gateway request.getHeader("X-FORWARDED-FOR")--> IPaddress
但是,如果请求直接来自客户端,则此方法可能返回null。您可以通过一些其他条件来处理这种情况以获取有效数据。