portlet关于统计在线人数的问题

portlet关于统计在线人数的问题

问题:jsp中是实现HttpSessionListener接口,portlet中怎么不行呢,还是另有别的接口?
我的wps是5.1的,经测试登陆的用户可以记录,代码如下

private static int activeSessions = 0;

/**
* @see javax.servlet.http.HttpSessionListener#sessionCreated(javax.servlet.http.HttpSessionEvent)
*/
public void sessionCreated(HttpSessionEvent se) {
activeSessions++;
saveOnlineNum();
}

/**
* @see javax.servlet.http.HttpSessionListener#sessionDestroyed(javax.servlet.http.HttpSessionEvent)
*/
public void sessionDestroyed(HttpSessionEvent se) {
if(activeSessions > 0)
activeSessions--;
}

/**
* 获得当前在线人数
* @return 当前在线人数
*/
public static int getActiveSessions() {
return activeSessions;
}

匿名的好像不能记录,提示:NO PORTLET SESSION YET 。
不知道自己怎么定制呢?给个提示,谢谢

[@more@]

解答:

哈哈,那你可是问对地方啦!可能只有我能解答你的问题啦。呵呵!

其实实现此功能也不是特别困难,重要的是您必须了解整个Portal容器的工作机理。由于篇幅问题,我就不在此处过多的阐述Portal容器是如何工作的。

针对您提出的在线人数统计问题,您只要了解到:整个Portal页面是如何被组装和渲染的,即Portal页面的根在哪儿。Portal页面的根存在于Portal Server的 installedApps 目录下wps EAR应用中,如果您定制过themes和skins就知道了。

那么关于在线人数的统计,即人数的统计必须要在此EAR 的wps应用中进行过虑和跟踪。
比如在WEB-INFweb.xml的配置文件中,加入如下 filter和listener


ClickStreamFilter
ClickStreamFilter

com.ibm.portal.user.utils.CustomClickStreamFilter


ClickStreamFilter
/*

......
......


com.ibm.portal.user.utils.CustomClickStreamListener

附件: wps_library.rar

rar.gif附件: onlineusers.rar

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8819325/viewspace-903604/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8819325/viewspace-903604/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值