社区
Web 开发
帖子详情
通过session取IP?
ansili521
2008-11-25 09:00:55
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
activeSessions.put(session.getId(), session);
}
在此已经取得session了. 如何取得客户端访问的IP呢?.
...全文
1053
23
打赏
收藏
通过session取IP?
public void sessionCreated(HttpSessionEvent event) { HttpSession session = event.getSession(); activeSessions.put(session.getId(), session); } 在此已经取得session了. 如何取得客户端访问的IP呢?.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fx290318458
2008-11-29
打赏
举报
回复
request..getRemoteAddr() 能获得到
steryzone
2008-11-28
打赏
举报
回复
用request获取ip
LZ不一定要在session里面拿到阿,试下用其他方法。。。来实现效果
jumpheightway
2008-11-27
打赏
举报
回复
取ip用这个request.getRemoteAddr()
weakizy164
2008-11-27
打赏
举报
回复
11楼说得很有道理啊,学习了
ansili521
2008-11-27
打赏
举报
回复
[Quote=引用 14 楼 jumpheightway 的回复:]
那九个对象是可以互取的怎么得不到呢
[/Quote]
不能解到!.. 请问一下怎么个互取法?. 能否列一下?.
ansili521
2008-11-27
打赏
举报
回复
session侦听 没什么感觉.
没有很好的方法解决这个问题.
结贴算了.
ansili521
2008-11-26
打赏
举报
回复
[Quote=引用 15 楼 nextuser 的回复:]
session中应该是取不到了,可以作个filter,
1。请求过来,
2。判断session中是否有统计过标志
3。如果没有,统计计数加一,记录在request中的远程地址,在session中设置统计过标志
如果有统计过标志,跳到4
4 交给下一工序处理(调用父类的dofilter)
[/Quote]
这也是一个方法.但很个请求我都去处理一下,例如这样request.getSession().setAttribute("ip",request.getRemoteAddr());
存在部分问题.
1.效率上.
2.我现在可能是将IP放在一个Map里面,通过sessionid做为key存放起来. 当用户在线数量一增多,结果就会出现同步问题.
理论上说.session有责任存放ip的.session是服务器对客户端生命周期的描述.
但的确找不到.最后我实现的方式也是使用filter完成的.
但存还是不满意,因为存在什么问题.
海会圣贤
2008-11-26
打赏
举报
回复
[Quote=引用 4 楼 ansili521 的回复:]
我是想做在线人数统计,目前只能实现,有多少人在线,在线人数的IP等信息.
具体代码如下
public class SessionListener implements HttpSessionListener
{
public static Map <String, HttpSession> activeSessions = Collections.synchronizedMap(new HashMap <String, HttpSession>());
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
activeSessions…
[/Quote]
你可以使用session侦听啊.......
用法上网搜.
nextuser
2008-11-25
打赏
举报
回复
session中应该是取不到了,可以作个filter,
1。请求过来,
2。判断session中是否有统计过标志
3。如果没有,统计计数加一,记录在request中的远程地址,在session中设置统计过标志
如果有统计过标志,跳到4
4 交给下一工序处理(调用父类的dofilter)
ansili521
2008-11-25
打赏
举报
回复
[Quote=引用 6 楼 iwantnba 的回复:]
session里面好像没有直接获得客户端IP地址的方法
[/Quote]
我找了的确没有,不敢保证我自己找的是否全面,只是想发一个贴看看,有没有知道怎么得到.
或是有更好的方法.
iwantnba
2008-11-25
打赏
举报
回复
session里面好像没有直接获得客户端IP地址的方法
jumpheightway
2008-11-25
打赏
举报
回复
那九个对象是可以互取的怎么得不到呢
dujun3245350
2008-11-25
打赏
举报
回复
接分
ansili521
2008-11-25
打赏
举报
回复
我是想做在线人数统计,目前只能实现,有多少人在线,在线人数的IP等信息.
具体代码如下
public class SessionListener implements HttpSessionListener
{
public static Map<String, HttpSession> activeSessions = Collections.synchronizedMap(new HashMap<String, HttpSession>());
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
activeSessions.put(session.getId(), session);
}
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
activeSessions.remove(session.getId());
}
}
iwantnba
2008-11-25
打赏
举报
回复
activeSessions.put(session.getId(), session);
这方法是干嘛的?
ansili521
2008-11-25
打赏
举报
回复
关键在这里得不到. Request对象.
现在在这里的只有HttpSession的对象.
zfg2003
2008-11-25
打赏
举报
回复
Up
yanbin1016
2008-11-25
打赏
举报
回复
用内置的request对象的getRemoteAddr()方法可以取到IP 不知道你要的是这个不! 如:String strIP = request.getRemoteAddr(); //IP
dimcutter
2008-11-25
打赏
举报
回复
我是来长见识了~~~飘
上善_若水
2008-11-25
打赏
举报
回复
session确实不能取到ip,因为session的信息是保存在服务端的,为做为客户端的标识唯一的就是有不同的session id而已。客户端可以通过session id
获得session信息。根本没有包括ip在内的一些其他客户端信息。
加载更多回复(3)
oracle获
取
session
的
IP
地址
oracle获
取
session
的
IP
地址 方法1,创建触发器: create orreplace trigger login_on alfterlogon on database begin dbms_application_info.set_client_info(sys_context('userenv','
ip
_address')); end;
sql 获
取
session
客户端的
IP
地址
http://blog.csdn.net/xiangsir/article/details/8693734 在 Oracle 中如何确定远程
session
客户端的
IP
地址 前几天,Daniel 所在的环境多个数据库发生了一件惨案:我们把所有数据库主机、数据库的密码更改后, 硬件总集成的一台 windows 主机安装了一个 Oracle数据库监控工具,不断尝试利用错
购物车存储
Session
?Cookie?数据库?,优缺点
目前我们使用购物车的存储方式主要有:
Session
方式,Cookie方式,数据库存储,我们来一一分析优缺点。 1.
Session
(Memcached)方式 优点:购物车信息保存在服务端,可以保存1M 信息。缺点:对于大型网站会占有过多的服务器内存资源,造成服务器压力过大。
Session
保存的信息会在用户退出登录后丢失。用...
有人知道根据
Session
ID如何
取
得
Session
对象吗?
我现在遇到一个问题,需要根据
Session
ID
取
得内存中的
Session
对象,或者能
取
到内存中的所有
Session
对象也可以,请问各位有没有什么办法?
什么是cookie?什么是
session
?cookie与
session
有什么区别
cookie与
session
的由来: 网址的发展史: 1、起初网站都没有保存用户功能的需求,所有用户访问返回的结果都是一样的。 比如:新闻网页,博客网页,小说... (这些网页是不需要登录后才能访问的,每个人访问的结果都一样) 2、后来出现了一些需要保存用户信息的网站 比如:支付宝,淘宝,京东.... (用户登录后只要不长时间不访问就不会退出登录) 举例: ...
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章