有些用户要求记录用户在线时长,刚做过这个功能,拿出来跟大家共享。
写SessionListener类做处理方法,该类需要继承HttpSessionBindingListener接口来侦听用户登录还是退出,或者是session失效。
private SysUser user;//系统用户
public SessionListener(SysUser user)
{
this.user = user;
}
//用户登录,信息记录在在线用户列表onlineUserLis中
public void valueBound(HttpSessionBindingEvent event)
{
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
List onlineUserList = (List)application.getAttribute("onlineUserList");
if (onlineUserList == null)
{
onlineUserList = new ArrayList();
application.setAttribute("onlineUserList", onlineUserList);
}
onlineUserList.add(user);
System.out.println((new StringBuilder(String.valueOf(user.getUserName()))).append("登录。").toString());
}
用户退出时记录时间并写入数据库
public void valueUnbound(HttpSessionBindingEvent event)
{
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
try
{
float onlineTime = 0.0F;
SimpleDateFormat df = new SimpleDateFormat("yyyy-M-d HH:mm:ss");
Date begin =df.parse(user.getLoginTime());
Date end = new Date();
long between = (end.getTime() - begin.getTime()) / 1000L;
long day1 = between / 0x15180L;
long hour1 = (between % 0x15180L) / 3600L;
long minute1 = (between % 3600L) / 60L;
onlineTime = (float)(day1 * 24L + hour1) + (float)minute1 / 60F;
SysRzList rzl = new SysRzList();
System.out.println(String.format("%10.1f",onlineTime));
//记录入库,最小单位0.1小时,也就是6分钟,一般是足够了。
}
catch(Exception ex){
ex.printStackTrace();
}
//将在线用户表中删除该用户
List onlineUserList = (List)application.getAttribute("onlineUserList");
onlineUserList.remove(user);
}
分享到:
相关推荐
可以记录用户在页面上的停留时间 并且还有遮罩层的效果,最小化和最大化都不影响遮罩的效果
花了很长时间终于把这个功能做出来了,跟大家分享下。用的是jquery。 有两个页面action.aspx和action_to_sql.aspx
SAP系统,默认情况下只能查看用户的上次登录记录, 但之前的登录并不会进行记录。本文介绍了如何设置审计参数文件,并利用审计日志来查看用户在某段时间内的登录情况。
用户IP地址所在地记录,jsp程序 src\ipaddr IPEntry.java IPSeeker.java Test1.java Test.java Utils.java
javascript 记录最后登录 时间 里边有几个日期函数看懂就OK了
PHP记录用户访问ip、浏览器类型和访问时间到txt日志文件
查找访问orcale数据库用户名称或IP地址
记录和管理用户登陆时间,如果用户时间结束了就锁定屏幕.类似网吧管理,不过是单机版的.使用方法:添加一个计划任务来运行它就可以了.
Windows 7系统的详细记录用户登录时间.docx
主要介绍了Spring security如何实现记录用户登录时间功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
SQL 易语言操作,告诉你怎么记录用户登陆时间
linux记录用户登录操作日志.日志分析 每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作(root用户除外)
生产环境myslq开启general_log太耗费性能和空间,使用建库建表和init-connect,审计用户的登陆时间和IP,减少了数据库性能消耗又实现审计
利用LABVIEW中用户事件来实现温度报警器,当温度超过设定时间时,实现报警,并记录报警时间。
order_info_utf和user_info_utf两个表,order_info_utf中包含用户id,是否支付,支付价格以及支付时间,user_info_utf包含用户id,性别,出生日期字段
前一阵子经理问我能不能把用户最后一次登录我们的业务数据库的时间记录下来,因为之前有人修改过数据库sa用户的登录密码,所以我们要记录一下。 我查了一下资料,好像不能记录谁登录过业务库,只能记录谁登录过SQL...
该文件是通过Java语言实现的在JSP页面上显示出用户上次登陆的时间以及更新它为此次的最新时间的源码,利用了MVC2模式。望大家支持。。。。。
Android 记录用户打开APP的次数,每次打开APP会提示是第几次打开,在实现思路上是这样的,先获取SharedPreferences,从SharedPreferences中读取上次访问的时间,包括了键值信息,因为上次写入有访问信息在里面,然后...
cookie记录上次访问时间,cookie小例子
如果有时间的话本人会不断更新软件 如果您觉得软件可以的话,请您向朋友介绍 您可以用多种方式表达您对软件的支持,例如:给我送Q币 QQ:472497084 E-mail:472497084@qq.com ...