`
CB-13
  • 浏览: 22431 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于 session 的 HttpSessionActivationListener 监听器

    博客分类:
  • Web
阅读更多
Jsp/servlet 标准不要求一个web容器支持分布式应用,但是他一定要支持HttpSessionActivationListener借口,以使代码可以支持分布式环境。一般免费的web容器都不支持分布式,weblogic websphere是支持的。为了负载均衡或者fail-over,web容器可以迁移一个session到其他的jvm.session的passivation是指非活动的session被写入持久设备(比如硬盘)。activate自然就是相反的过程。在分布式环境中切换的属性必须实现serializable接口。

一般情况下他和HttpSessionBindingListener一起使用。
比如一个属性类,
public class attributeClass implements HttpSessionBindingListener,HttpSessionActivationListener{
    //HttpSessionActivationListener
    public   void   sessionDidActivate(HttpSessionEvent   se) 
    {         logout("sessionDidActivate("+se.getSession().getId()+")");//激活
    } 
    public   void   sessionWillPassivate(HttpSessionEvent   se)
    {//被传送到别的jvm或 写到硬盘
    logout("sessionWillPassivate("+se.getSession().getId()+")");
    }
    //HttpSessionBindingListener
    public   void   valueBound(HttpSessionBindingEvent   event)
    { //被设置到session中(setAttribute)
        logout("valueBound("+event.getSession().getId()+event.getValue()+")");
    } 
    public   void   valueUnbound(HttpSessionBindingEvent   event)
    { //从session中解除(removeAttribute)
    logout("valueUnbound("+event.getSession().getId()+event.getValue()+")");
    }
}

这样你就可以将它加到session中
public class AAAServlet extends HttpServlet {
 protected void doGet(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {
   HttpSession session = request.getSession();
   session.setAttribute("attribute",attributeClass);
 }
}
分享到:
评论

相关推荐

    java监听器和过滤器详解

    - **Session监听器**:例如`HttpSessionBindingListener`,用来监听对象与`session`之间的绑定与解绑操作;`HttpSessionActivationListener`用于监听`session`的序列化与反序列化操作,但一般情况下,这些操作是由...

    Listener监听器1

    特殊的监听器还包括 HttpSessionBindingListener 和 HttpSessionActivationListener,这两个接口用于帮助 JavaBean 对象了解自己在 session 域中的状态。HttpSessionBindingListener 接口用于监听把实现此接口的 ...

    servlet监听器

    用于监听HttpSession中对象的序列化和反序列化事件,监听器类需实现javax.servlet.http.HttpSessionActivationListener接口。 HttpSessionActivationListener接口的方法: voidsessionWillPassivate...

    Java的监听器种类.pdf

    在Java的Web开发中,监听器(Listener)是一种强大的工具,它允许程序员对特定事件进行响应,而无需直接干预应用程序的流程。监听器主要用于监控Servlet容器中的各种事件,例如Servlet上下文的创建和销毁,HTTP会话...

    快速学习JavaWeb中监听器(Listener)的使用方法

    以下是关于JavaWeb监听器的详细知识: 1. **监听器的概念** 监听器在Java中是一个实现了特定接口的Java类,用于监听和处理对象的状态变化或特定事件。当被监听的对象触发了预设的事件,监听器中的对应方法会被自动...

    网络应用开发 之 监听对象的属性变更

    在Java Web开发中,特别是在使用Servlet时,我们可以利用监听器来监控和响应对象状态的变化,从而实现动态更新和数据同步。下面将详细阐述这一知识点。 ### 监听器简介 监听器是Java Servlet API提供的一种机制,它...

    Java实训教程 Java软件开发实战 web开发技术 第6章 listener 共21页.pptx

    ### Java Web 开发技术:Listener 监听器技术详解 #### 一、课程目标与概述 本章将详细介绍Java Web开发中的监听器技术。通过学习本章内容,读者能够达到以下学习目标: - **理解监听器的概念**:了解监听器的...

    基于Listener监听器生命周期(详解)

    这类监听器专门用于监听session中的对象实例绑定和解绑事件。主要包括以下两个接口: 1. **HttpSessionBindingListener** - `valueBound(HttpSessionBindingEvent event)`:当一个对象实例绑定到session上时调用...

    Java基础 Servlet监听器详解

    Java Servlet监听器是Java Servlet API中的一个重要组成部分,它们允许开发者在Web应用的生命周期内的某些关键点添加自定义行为。具体来说,监听器可以监控Web应用中的三个主要对象:ServletContext(代表整个Web...

    数据库知识

    当Session创建和销毁时,这个监听器可以执行相应的逻辑,如增加或减少在线用户计数。 在配置文件`web.xml`中,我们需要声明这个监听器,确保它在Web应用启动时被加载和注册。例如: ```xml <!-- ... --> ...

    Servlet中的八大Listener

    - 这个监听器关注于ServletContext对象的属性变化。 - `attributeAdded()`会在属性添加到ServletContext时触发。 - `attributeReplaced()`在属性被替换时调用。 - `attributeRemoved()`则在属性被移除时执行。 ...

    详解JavaWeb中的 Listener

    当特定的事件(如Web应用启动、停止、会话创建、销毁等)发生时,Servlet容器会通过回调Listener中的方法来通知监听器。 **一、基本概念** 观察者模式的核心是订阅和通知。在JavaWeb中,Servlet规范定义了一系列...

    scwcd考试中常用的API

    Listeners用于监听应用程序事件,如ServletContext初始化、属性改变等。 - **interface: ServletContextListener** - **interface: ServletContextAttributeListener** - **interface: ServletRequestListener** - ...

Global site tag (gtag.js) - Google Analytics