您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线

来源:未知 责任编辑:责任编辑 发表时间:2013-11-18 20:56 点击:

最近一个项目中用jsp(SUN企业级应用的首选)实现用户登录,当然是使用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(SUN企业级应用的首选)">.做成自动刷新。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • JSP与Servlet
  • 自己动手写MiniBBS系列(基本篇)之用户登录
  • JSP取当前日期
  • JDBC 入门(一)
  • 打开一个jsp页面默认查询所有数据,调用action
  • 使用JSP标签库验证用户的输入(2)完
  • 自定义JSP标签(tag)浅议
  • WIN98/2000下的jsp服务器
  • JSP内建对象(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1