public class OnlineCounter {
private static long online = 0;
public static long getOnline() {
return online;
}
public static void raise(){
online++;
}
public static void reduce(){
online--;
}
}
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class OnlineCounterListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent hse) {
OnlineCounter.raise();
}
public void sessionDestroyed(HttpSessionEvent hse) {
OnlineCounter.reduce();
}
}
解决方案 »
- JPA的JavaBean映射文件报错
- java程序动态生成swf文件相关问题
- 请教数据库连接断开后,如何自动重新获取连接
- 100分相求解决,ssh系统中,两个表,一对多,列表的问题。
- tabPanel嵌套内部panel 内部按钮再调用外部tabPanel 无法显示
- SocketServer怎么批量获取网络摄像机图片
- springMVC框架的问题
- 用javamail做邮件发送的配制问题
- 求Effective Java电子中文书,分少可再加 ,急!!!!
- 各位大哥小弟刚接触java不久,帮忙指点一下好吗?
- 调用Hibernate自动生成的DAO里的 findbyExample()方法出错
- 关于用JS链接传值到.do文件无法识别的问题
但是每次session被访问以后就被销毁了.我设置了arg0.getSession().setMaxInactiveInterval(3600);也没用
而且还是创建了2次session.在IE没关闭的情况下每再请求一次也会创建2次SESSION.
是创建了2个session. 而且不关闭浏览器.设置了自动销毁时间的情况下还是会创建session
// TODO Auto-generated method stub
if( this.service == null)
this.setService((StatisticService) SpringContextUtil.getBean("StatisticService"));
//设置session过期时间
arg0.getSession().setMaxInactiveInterval(3600);
System.out.println(arg0.getSession().getId());
Statistic statistic;
Object statisticObj=arg0.getSession().getServletContext().getAttribute("statistic");
//判断今天是否已经开始监听
if( statisticObj == null ){
//找出今天的统计
String date = StrTool.formatDate(new Date());
ConditionBlock block = new ConditionBlock();
block.and(new ConditionLeaf("statisticDate",ConditionLeaf.EQ,date,false,","));
List list = this.getService().findObjectsByCondition(block, null);
if( !list.isEmpty())
{
statistic = (Statistic)list.get(0);
statistic.setStatisticTotal(statistic.getStatisticTotal()+ADD_VALUE);
this.service.update(statistic);
}
else
{
statistic = new Statistic();
statistic.setStatisticName("当日");
statistic.setStatisticDate(date);
statistic.setStatisticTotal(ADD_VALUE);
this.service.add(statistic);
}
}
else
{
statistic = (Statistic)statisticObj;
statistic.setStatisticTotal(statistic.getStatisticTotal()+ADD_VALUE);
this.service.update(statistic);
}
arg0.getSession().getServletContext().setAttribute("statistic", statistic);
Long statisticTotal = this.getService().getStatisticTotal();
arg0.getSession().getServletContext().setAttribute("statisticTotal",statisticTotal);
}
问题不是别的. 是创建了几个session.
我朋友那就创建一个SESSION我这创建2,3个...