session监听器(可用于统计在线人数,了解系统当前的使用客户)
★★★ 本篇为原创,需要引用转载的朋友请注明:《 http://stephen830.iteye.com/blog/338291 》 谢谢支持! ★★★
在系统运行中,有时候我们想了解下当前使用系统的用户,有多少人在使用系统?具体是哪些人在使用系统?
这时候,就可以通过session监听器(javax.servlet.http.HttpSessionAttributeListener 接口)的功能来实现。当用户登录系统的时候,通过特定的session属性记录下用户的登录情况。
整个过程可以分为以下4步:
第1步 准备session监听器处理类。
(如下面的SessionListener.java)
注意其中的_login就是设定的特殊session属性,当然你可以改成别的名字。
第2步 将session监听器配置到web.xml中.(参考如下的web.xml配置)
上面的 <listener><listener-class>com.stephen.filter.SessionListener</listener-class></listener> 就是配置session监听器的。
在你的web.xml配置文件中添加上这一行就可以了(要注意添加的位置)。
第3步 当用户登录时监听用户。
当用户成功登录后执行下面的代码。
最后的说明:
如果你的系统中有注销(或者退出登录)类似的功能(功能中调用了 session.invalidate() 方法),那么用户的信息就会自动从上面的列表中删除。如果没有使用注销功能,则只能等到session超时候才能从列表中自动删除。
13 楼 stephen830 2009-03-02 yananay 写道
引用
拨开云雾见本质,你可以看看实现的本质是什么。 如果什么东西都用“本质“,那建议大家直接使用汇编编写所有的程序。
对于搞技术的而言,适当的还是要做到“知所以然”,而不要简单的满足“知其然”。当然这还取决于每个人自己的想法。
14 楼 yananay 2009-03-02 引用
对于搞技术的而言,适当的还是要做到“知所以然”,而不要简单的满足“知其然”。当然这还取决于每个人自己的想法。
大哥,用 session listener 去统计在线人数这个东西已经很普通了吧,google一搜一大把,恐怕好多人都是 “知所以然”,并非如你所想的 “满足“知其然””。
时代在进步,所以说,是不是应该介绍点新东西,新方法呢。 15 楼 valen926 2009-05-30 session监听器是对整个网站的session吗?我设了两个session 我只想对一个session设置监听器,另外一个不设置 .