获取客户端IP地址

在JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。

获取本机的IP地址:
InetAddress ia=InetAddress.getLocalHost();
String name=ia.getHostName();
String address=ia.getHostAddress();

顺便说下request这个对象常用的方法:
getProtocol():获取请求使用的通信协议,如http/1.1等
getServletPath():获取请求的JSP也面所在的目录。
getContentLength():获取HTTP请求的长度。
getMethod():获取表单提交信息的方式,如POST或者GET。
getHeader(String s):获取请求中头的值。一般来说,S参数可取的头名有accept,referrer、accept-language、content-type、accept-encoding、user-agent、host、cookie等,比如,S取值user-agent将获得用户的浏览器的版本号等信息。
getHeaderNames():获取头名字的一个枚举。
getHeaders(String s):获取头的全部值的一个枚举。
getRemoteAddr():获取客户的IP地址。
getRemoteHost():获取客户机的名称(如果获取不到,就获取IP地址)。
getServerName():获取服务器的名称。
getServePort():获取服务器的端口。
getPaeameterNames():获取表单提交的信息体部分中name参数值的一个枚举。

你可能感兴趣的:(apache,jsp)