最近做项目的时候要求记录登陆日志信息,以前的工作都是交给了HttpSessionBindingListener来处理,现在整理一下:
用户不点退出,直接关闭浏览器则要等session过期才能触发valueUnbound方法,可能记录不准确,但是,系统要求没那么严格,将就着用,可以使用长连接,也没深入研究,等用到再说吧。
使用方法:
TotalUserInfo sessionListener=new TotalUserInfo (); //对于每一个会话过程均启动一个监听器 ,这里也可以重载这个函数
session.setAttribute("userName",sessionListener); //将监听器植入HttpSession,这将激发监听器调用valueBound方法,从而记录日志文件。
///
当系统退出登录时,只需简单地调用session.removeAttribute(“userName”);即可自动调用监听器的valueUnbound方法。或者,当Session Time Out的时候也会调用此方法。