`
ralphr
  • 浏览: 143216 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpSessionBindingListener使用

    博客分类:
  • web
阅读更多

netbank2001:
当成功时,把用户放入成功列表。
static hashMap successUserList;
key:客户号
value:userA implements HttpSessionBindingListener

public abstract class User implements HttpSessionBindingListener

当客户退出时,该session失效
 httpsession.invalidate();
 httpsession = httpservletrequest.getSession(true);

private transient LoginController Logincontroller
userA
public void valueBound(HttpSessionBindingEvent httpsessionbindingevent1) {
 }

 public void valueUnbound(HttpSessionBindingEvent httpsessionbindingevent) {
  try {
   Logincontroller.setLogout();
  } catch (Exception exception) {
  }
 }

PeDuploginController
public void setLogout() throws CsiiException {
  UserRegistryItem userRegistryItem = (UserRegistryItem)ClusterLoginControlSerlvet.getSuccessUserResourceList().get(super.user.getUserId());;
        int i = userRegistryItem.getLoginCount();
        if(i > 1) {
            CsiiUtils.dump("in HashtableBaseLC.setLogout(), set loginId:" + super.user.getUserId() + " count - 1");
            userRegistryItem.setLoginCount(i - 1);
        } else {
            CsiiUtils.dump("in HashtableBaseLC.setLogout(), remove loginid:" + super.user.getUserId());
            ClusterLoginControlSerlvet.getSuccessUserResourceList().remove(super.user.getUserId());
        }
 }

 

Session 代表客户的会话过程,客户登录时,往 Session 中传入一个对象,即可跟踪客户的会话。在 Servlet 中,传入 Session 的对象如果有一个实现 HttpSessionBindingListener 接口的对象(方便起见,此对象称为监听器),则在传入的时候(即调用 HttpSession 对象的 setAttribute 方法的时候)和移去的时候(即调用 HttpSession 对象的 removeAttribute 方法的时候或 Session Time out 的时候) Session 对象会自动调用监听器的 valueBound valueUnbound 方法(这是 HttpSessionBindingListener 接口中的方法)。

 

分享到:
评论

相关推荐

    基于HttpSessionBindingListener的登陆日志

    在本例中,我们将使用HttpSessionBindingListener来记录登陆者的用户名和登录时间到数据库中。 首先,让我们回顾一下HttpSessionBindingListener接口。该接口定义了两个方法:valueBound和valueUnbound。valueBound...

    HttpSessionBindingListener实现在线人员查看即人数统计

    在Java Web开发中,`HttpSessionBindingListener`接口是一个非常重要的工具,用于监听session中的对象绑定和解绑事件。这个接口提供了对用户会话状态变化的观察能力,从而可以实现一些高级功能,如在线人员查看、...

    jsp 统计在线人数利用HttpSessionListener、HttpSessionBindingListener

    jsp 统计在线人数实例,是个完整的项目实例,部署即可查看效果! 通过使用:HttpSessionListener、HttpSessionBindingListener来实现. valueBound 方法登录触发。 valueUnbound 方法退出触发。

    HttpSessionBindingListener获取在线用户数(转)

    5. 对于大型项目,可能需要考虑线程安全问题,如使用`synchronized`关键字或`ConcurrentHashMap`等数据结构来处理并发访问。 通过这种方式,我们不仅能够实时地统计在线用户数,还可以方便地扩展功能,例如记录用户...

    HttpSessionListener 和HttpSessionBindingListener的区别 单点登录

    - 使用`HttpSessionListener`可以监控用户登录状态的变化,及时更新在线用户列表,从而确保各个子系统之间共享正确的用户状态信息。 - 通过`HttpSessionBindingListener`可以在用户登录时绑定必要的认证信息至会话中...

    Spring+Struts2+ibatis 异地登录 HttpSessionBindingListener

    例如,我们可以创建一个实现了`HttpSessionBindingListener`的UserSession类,然后在Spring配置文件中声明该bean,并将其注入到需要使用session的控制器或服务类中。 Struts2作为MVC框架,负责处理HTTP请求和转发到...

    javaweb开发在线人数统计

    在线人数统计的实现也可以使用其他技术,例如使用应用程序的 Context 来保存在线用户名单,但是使用 HttpSessionBindingListener 接口可以使得实现更加简洁和高效。 在线人数统计的应用场景非常广泛,例如在线聊天...

    session中的bean监听

    属性监听和bean监听的区别: 属性监听:是对三个容器中的任何属性(包括对象和不是对象的数据,基本...从使用上它不同于前面两个监听器的学习,但给我们的感觉就是一个属性监听的vip用户,这个vip用户是一个JavaBean

    JSP中基于Session的在线用户统计分析

    在Servlet 2.2中,我们可以使用`HttpSessionBindingListener`接口,而在Servlet 2.3中,还可以使用`HttpSessionAttributeListener`。不过,由于某些环境可能不直接支持Servlet 2.3,所以这里我们关注`...

    天学成javax

    - **`HttpSessionBindingListener`**:监听`HttpSession`中的属性绑定事件。 - **`HttpSessionContext`**:提供对多个`HttpSession`的访问。 #### 四、实用类 - **`Cookie`**:封装了HTTP Cookie的创建和管理。 - ...

    用JSP程序实现统计当前在线人数

    这个类实现了`HttpSessionBindingListener`接口,这意味着每当一个会话创建或销毁时,该类都会收到通知,从而更新在线用户列表。`onLineUser`类主要功能包括: 1. **用户计数**:`getCount()`方法返回当前在线用户...

    在线人数统计

    在这个小型案例中,我们使用了Java Servlet中的`HttpSessionListener`和`HttpSessionBindingListener`接口来实现这一功能。以下是对这两个接口以及整个案例的详细解释: 1. **`HttpSessionListener`接口**: `...

    基于ServletJSP的部门管理系统.zip

    使用DBUtil工具类简化数据库连接和操作,包括获取数据库连接、执行SQL语句和关闭连接。 支持部门信息的增删改查操作。 2. 用户管理 实现用户登录和注销功能,通过UserServlet处理用户登录请求,验证用户名和密码...

    Java产生验证码实例

    - 使用`javax.servlet.http.HttpSessionBindingListener`接口实现Session监听,当验证码过期或被替换时,自动移除旧的验证码。 - 对于高并发场景,可以考虑使用分布式Session存储,如Redis,以解决单台服务器Session...

    源码:程序开发中,经常需要对某些事件进行监听,比如一一个网站页面可能要动态监听当前在线用户有 哪些以及在线总人数

    1)创建LoginServlet类,来提供用户登录功能,以及接入HttpSessionBindingListener的实现类中进行动态监听, 2)创建OnlineUserBindingListener类实现HtpSessionBindingListener接口,重写其中的两个方法, 3)在类...

    一个nginx和tomcat负载的例子,附上实现(已测试)

    在这个例子中,我们将探讨如何使用Nginx作为反向代理和负载均衡器,结合Tomcat应用服务器以及Redis来实现session共享。这个组合常用于大型Web应用,确保用户会话在多个服务器之间无缝切换。 首先,Nginx是一个高...

    jsp完成对在线人数的统计!

    使用`HttpSessionBindingListener`监听会话绑定事件 为了实时获取用户的在线状态,项目中采用了`HttpSessionBindingListener`接口。当用户登录时,该接口会被用来监听会话绑定事件,从而记录用户登录信息;当用户...

    JSP统计在线人数实现

    在本文中,我们将深入探讨如何使用JavaServer Pages (JSP) 实现在线人数统计功能,以便展示当前在线的用户数量。我们将分析提供的代码段,并解释关键概念和技术。 首先,我们有一个名为`onLineUser`的类,它实现了`...

    jsp手把手图解入门教程pdf

    - **使用HttpSessionBindingListener**:进一步讨论了如何使用HttpSessionBindingListener监听Session中对象的绑定和解除绑定事件。 ##### 9. 封装TagLib组件 - **用TagLib实现循环**:介绍了自定义标签库的使用...

Global site tag (gtag.js) - Google Analytics