/*************************************************************/ /*wallimn原创文章,欢迎转载,转载请保留本文信息。博客:http://blog.csdn.net/wallimn 邮件:wallimn@sohu.com*//*************************************************************/
思路很简单,但与网上多数文章有所不同。我使用两个监听器,通过HttpSessionListener监听用户退出事件,通过HttpSessionAttributeListener监听用户登录事件。一般来讲,用户登录,都是向session中写入一个登录用户名。因此,可以通过监听session属性的变化,得到用户登录的情况。监听器配制方法,就是在web.xml加入如下代码: <listener> <listener-class>com.wallimn.onlinestat.SessionListener</listener-class> </listener>
使用工厂模式来设计,定义一个保存用户登录信息的接口(IStatStore),以便可以通过多种机制保存用户登录信息,如内存(MemStat)或数据库(JdbcStat)。定义一个类厂(StoreFactory),来实现保存机制的切换。
注:我在代码中,没有完成JdbcStat这个类,若哪位用我的方法,写了这个类,最好能通过邮件发给我。谢谢。
以上是一些设计思想的简单介绍,下面把几个程序贴一下。
SessionListener.java
接口:IStatStore.java
MemStat.java
类厂:StoreFactory.java
页面上使用方法示例: