码迷,mamicode.com
首页 > Web开发 > 详细

HttpSessionListener接口监听网站在线人数

时间:2015-08-11 01:40:19      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:tomcat序列化session

代码

package com.chinaseacom.store.common;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class MySessionListener implements HttpSessionListener {  
     
    private long onlineCount;  
 
    public void sessionCreated(HttpSessionEvent event) {  
      
       this.onlineCount=this.onlineCount+1;  
                                //保存在application作用域  
        event.getSession().getServletContext().setAttribute("onlineCount", onlineCount);  
    }  
  
    public void sessionDestroyed(HttpSessionEvent event) {  
        
        this.onlineCount=this.onlineCount-1;  
        event.getSession().getServletContext().setAttribute("onlineCount", onlineCount);  
    }  
  
}

web.xml中配置

<!-- 配置自定义监听器 -->    
 <listener>      
 <listener-class>com.chinaseacom.store.common.MySessionListener</listener-class>    
 </listener>

jsp页面

${application.onlineCount }


要了解Session首先要知道一个概念:Session的销毁只有两种情况:

第一:session调用了 session.invalidate()方法.

第二:前后两次请求超出了session指定的生命周期时间. 其中Session的生命周期时间可以在web.xml配置. 默认30分钟

在web.xml可以做如下配置:

<session-config>
      <session-timeout>5</session-timeout>
</session-config>


Tomcat 默认是会在一个 application 停止的时候,将其所有的session都序列化Tomcat安装目录\work\Catalina\localhost\项目名 文件夹下面看到有一个 SESSIONS.ser 的文件中,然后在下次启动的时候,在反序列化,继续尚未过期的session的。


tomcat单独停止某个应用需要到tomcat管理界面


技术分享但是,如果不想让session序列化到文件中,该如何做?
答案:
   创建 yourWebApp/META-INF/context.xml ,内容如下:(补充:META-INF 目录应该和WEB-INF目录平级)

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <Context>

  3.   <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">

  4.     <Store className="org.apache.catalina.session.FileStore" />

  5.   </Manager>

  6. </Context>



参考文章:


http://blog.csdn.net/yiyuhanmeng/article/details/8156247

 

本文出自 “一无所有-天行者” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1683427

HttpSessionListener接口监听网站在线人数

标签:tomcat序列化session

原文地址:http://tianxingzhe.blog.51cto.com/3390077/1683427

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!