jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线
来源:互联网 发布:网络布线工程 税率 编辑:程序博客网 时间:2024/04/29 22:25
最近一个项目中用jsp实现用户登录,当然是使用session来保持。这个用implements HttpSessionBindingListener接口来实现,这个是我写的简要代码。
public class OnLineUser implements HttpSessionBindingListener {
private NewUser newUser=null;
public OnLineUser() {
newUser=new NewUser();
}
public boolean existUser(String str)
{
return false;
}
public void valueBound(HttpSessionBindingEvent e) {
String tempName=e.getName();
//Integer m=new Integer(tempName);
newUser.setUserName(tempName);
try {
newUser.updateOnline();
}
catch (Exception ex) {
}
System.out.println("用户"+tempName+"上限");
}
public void valueUnbound(HttpSessionBindingEvent e) {
String tempName=e.getName();
//Integer m=new Integer(tempName);
newUser.setUserName(tempName);
try {
newUser.updateUnline();
}
catch (Exception ex) {
}
System.out.println("用户"+tempName+"下限");
}
}
在登录处理的servlet中调用
OnLineUser onLineUser=new OnLineUser();
request.getSession(false).setAttribute(login_no,onLineUser);
其中login_no是变量是登录名称。同时要把request.getSession(false)值设为false,他有true和false两个值,true为如果如果没有相同的session则创建。如果有则覆盖,false则没有则创建有则不创建,我要用这个实现单点登录所以用了false。这样就可以监听你创建的session了。如果session超时,则执行valueUnbound方法。创建session则执行valuebound方法。我在这里是对人员的一个状态字段进行更改。这样当这个用户在线的时候,另一个用户在另外的机子上线时在登录页面我就可以进行判断了。这方面的资料网上有很多,后来遇到问题就是当设置session超时时间为1分钟时。用户不正常退出可以一分钟后可以正常改变用户下线状态,但是用户如果1分钟内电脑没有操作也同时会吊线,我在网上找了很长时间,没有这方面的资料。后来我用我的一个框架(我的程序用的是框架,我用的是底部框架)
javax.servlet.http.HttpSession session2 = request.getSession(false);
com.chinantn.oa.util.OASession oasession =
(com.chinantn.oa.util.OASession) session2.getAttribute("oasession");
这个是我的登录页面用的一个处理session的类。然后在这个页面中加入
<meta http-equiv="refresh" content="30;URL=foot.jsp">.做成自动刷新。
间隔时间小于session超时时间。主要目的是如果页面在超时时间内没有访问的话用这个自动刷新访问一下session这样来解决问题。
- jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线
- jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线
- 保持Dialog不关闭
- Android:退出程序后保持Serivce开启不关闭
- 关闭浏览器后session不失效 in servlet.
- 强制关闭浏览器不提示!
- 在不小心关闭浏览器后,如何还能访问关闭浏览器前的session信息
- vs2010 打开的项目关闭后不显示
- vs2010 打开的项目关闭后不显示
- jacob操作office后关闭不掉进程
- selenium3 python 火狐浏览器 调用函数quit()函数后,浏览器关闭,geckorderiver不退出
- javaScript关闭浏览器 (不弹出提示框)
- javaScript关闭浏览器 (不弹出提示框)
- javaScript关闭浏览器 (不弹出提示框)
- VS2008 调试停止 浏览器不关闭问题
- JS关闭浏览器 (不弹出提示框)
- listner监听器 ___计算系统当前在线人数(解决浏览器关闭不调用sessionDestroyed方法)
- c# 读取rtf后,不保存关闭
- windows系统换服程序探讨
- IE自动产生的提示框
- IT人不认35岁这个坎 可向培训咨询方向发展
- 用挿座的簡単高速网(译者:cronuz)
- 2005年1月工作日志
- jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线
- 利用日志和过滤器生成用户访问日志
- oracle随机取表中数据
- 一个深沉的HR笑话
- SQL 语法参考手册(SQL)
- 把.NET程序部署到没有安装.NET Framwork的机器上
- 在SQL Server的存储过程中调用Com组件
- A*算法实现
- j2me HelloWorld