在java后台服务器,如何根据HttpSession获得客户端ip?

如题所述

只能根据用户请求带过来的sessionID所匹配的ip地址 而且只可以通过request获得ip 反正你能得到session 那得到request是一样简单的不是吗
得到request后命令为:

  String ip = request.getRemoteAddr();
这个ip字符串就是了追问

HttpSessionListener 当监听到一个session建立时,能得到request吗?如何得到,如不能得到那么能不能通过监听的HttpSessionEvent得到?

追答

你需要实现ServletRequestListener 接口
在类中声明  HttpServletRequest request;
然后在你需要的地方调用  String ip = request.getRemoteAddr();

然后在类里声明它的一个实现方法:
  public void requestInitialized(ServletRequestEvent event) {
  request = (HttpServletRequest)event.getServletRequest();
  }

最后需要在web.xml中配置:
  
  com.eaie.system.SessionListener
  
需要注意的是LISTENR的位置,必须在的相关配置之后,在的相关配置之前

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-01
通过request获取ip追问

我希望在HttpSessionListener监听中,监听到一个session就获取到它的ip ?能实现吗

在java后台服务器,如何根据HttpSession获得客户端ip?
只能根据用户请求带过来的sessionID所匹配的ip地址 而且只可以通过request获得ip 反正你能得到session 那得到request是一样简单的不是吗 得到request后命令为:String ip = request.getRemoteAddr();这个ip字符串就是了

Java 中是如何获取 IP 属地的
获取 Java 中 IP 属地的步骤简洁明了。首先,通过 HttpServletRequest 对象捕获用户的 IP 地址。接着,利用这个地址,我们能够获取对应的省份和城市信息。在实现这一功能时,我们通常会借助一个专门的工具类,以确保在每次请求中都能准确地获取到客户端 IP 地址。这一过程中,我们需考虑到几个关键的 ...

java后台怎么获取前台用户登录信息 包括 ip 登录时间
ip :InetAddress addr = InetAddress.getLocalHost();ip=addr.getHostAddress().toString;\/\/获得本机IP address=addr.getHostName()toString;\/\/获得本机名称 登陆信息使用Cookie ,Cookie的使用可以使用jquery的 Cookie包 或者java手写生成 登陆时间:Date now = new Date();Calendar cal = Calendar...

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

手把手教你用Java获取IP归属地
首先,我们需要基于Spring Boot搭建项目,添加控制器(Controller)中使用HttpServletRequest获取IP地址。然而,在本地环境下,获取的IP可能是0:0:0:0:0:0:0:1或局域网IP,这些都不具备公网访问的能力,因此需要将项目部署至外网服务器,以确保能成功获取到公网IP。面对Nginx反向代理的挑战,我们需要在...

JavaWeb如何获取当前访问IP
}}可以通过调用此工具类来获取到当前客户端访问的IP地址了。特殊情况其实这里面也存在一些特殊的情况,客户端可能通过代理的方式进行调用后端代码,所以这里的ip其实可能并不是真实的地址。还有就是如果通过转发的话,ip的获取也可能会有所差异。所以大家在使用获取ip的情况下,还是不要太过依赖于他。

java服务端如何获得客户端的ip
服务器端即可使用:Socket s=serverSocket.accept();String clientIP=s.getInetAddress().toString();这就实现了java服务器端获取到连接此服务器的客户端的IP了,你若想实现获取所有连接此服务器的客户端的IP,你可以把每次accept()返回的socket放进全局的Vector里面,然后在遍历这个vector方法就同上代码...

java中怎么获取客户端的真实的IP-CSDN论坛
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http:\/\/192.168.1.110:2046\/ 的URL反向代理为 http:\/\/www.bt285.cn \/ 的URL时,用...

各大站的ip地址归属地及所属运营商,是如何收集的?
了解各大网站IP地址归属地及所属运营商的收集方法,可以深入理解网络空间的运行逻辑。获取IP地址信息是通过HTTP协议中的请求头实现的,通常在浏览器发送请求时,服务器会接收到包含客户端IP地址的请求。在Java中,使用`HttpServletRequest`类可以从请求头中获取客户端的IP地址。获取IP地址后,通过Ip2region...

nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP
址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等 反向代理软件就不能获取到客户端的真实IP地址了。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。param request return \/ pub...

相似回答