HttpSessionActivationListener接口
实现了HttpSessionActivationListener接口的 JavaBean 对象可以感知自己被活化和钝化的事件
什么是钝化、活化
cn.class3g.domain.Person
public class Person implements HttpSessionActivationListener, Serializable {
public void sessionDidActivate(HttpSessionEvent arg0) { System.out.println("session从硬盘读入内存了"); }
public void sessionWillPassivate(HttpSessionEvent arg0) { System.out.println("session被存到硬盘中去了"); } } |
Index.jsp
<% session.setAttribute("person",new Person()); %> |
/META-INF/context.xml
<Context> <Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1"> <Store className="org.apache.catalina.session.FileStore" directory="class3g"/> </Manager> </Context> |
启动服务访问index.jsp页面,等待一分钟,查看后台打印
然后刷新页面,查看打印
重复以上动作,观察活化、钝化过程
到服务器对应目录中查看钝化后的session文件
D:\apache-tomcat-6.0.32\work\Catalina\localhost\Listener_Test\class3g
相关推荐
HttpSessionActivationListener接口的方法: voidsessionWillPassivate(HttpSessionEventswe) 在HttpSession对象将被持久化时调用 voidsessionDidActivate(HttpSessionEventsda) 在HttpSession对象从持久化状态恢复...
HttpSessionBindingListener 接口用于监听把实现此接口的 JavaBean 类的对象放入 session 的域属性中或从 session 中移除,而 HttpSessionActivationListener 接口用于监听实现此接口的 JavaBean 类的对象活化(从...
javax.servlet.Filter javax.servlet.Servlet javax.servlet.FilterChain ...javax.servlet.FilterConfig javax.servlet.ServletConfig javax.servlet.GenericServlet...javax.servlet.http.HttpSessionActivationListener
包括 javax.servlet.ServletContextListener、javax.servlet.http.HttpSessionListener、javax.servlet.http.HttpSessionActivationListener、javax.servlet.ServletRequestListener 等。 8. Servlet 3.0 后时代的...
当容器使用分布式容器设置在 VM 之间迁移会话时 所有实现 HttpSessionActivationListener 接口的会话属性都会得到通知 servlet 应该能够处理客户端选择不加入会话的情况 比如故意关闭 cookie 时 在客户端加入会话...
4. **HttpSessionActivationListener**: - `sessionPassivated(HttpSessionEvent)`:当Session变为非活动状态并被持久化时调用。 - `sessionActivated(HttpSessionEvent)`:当Session从持久存储中恢复并重新激活...
- HttpSessionActivationListener:这个接口主要关注会话在集群环境中的活动,监听会话在不同节点之间的激活(active)和钝化(passivate): - sessionActivated(HttpSessionActivationEvent): 会话被激活时触发...
- **HttpSessionBindingListener** 和 **HttpSessionActivationListener**:这两个接口关注HttpSession中对象的绑定和激活事件,常用于会话持久化和集群环境下的会话管理。 4. **使用监听器的好处** - **解耦合**...
3. **HttpSessionActivationListener**:监听HttpSession的激活和钝化事件,适用于分布式环境。 4. **HttpSessionListener**:监听HttpSession的创建和销毁。 5. **ServletRequestAttributeListener**:监听...
- `javax.servlet.http.HttpSessionActivationListener` - `javax.servlet.http.HttpSessionAttributeListener` ##### 3. `ServletRequest`监听器 - **事件类型**: - **生命周期事件**:请求的创建和销毁。 -...
- **第三类**:HttpSessionBindingListener和HttpSessionActivationListener,用于监听HttpSession中的JavaBean状态变化,如钝化、活化、绑定和解除绑定。 【监听器使用示例】 - **ServletContextListener**:在...
8. **HttpSessionActivationListener**: - `sessionDidActivate()`在session被激活(例如从持久化存储中恢复)时调用。 - `sessionWillPassivate()`在session将要进入非活动状态(例如即将被持久化或复制到另一个...
javax.servlet.http.HttpSessionActivationListener.class javax.servlet.http.HttpSessionListener.class javax.servlet.http.HttpUtils.class javax.servlet.http.HttpServletResponseWrapper.class javax/servlet...
它还包含HttpSessionBindingListener和HttpSessionActivationListener等接口,用于处理会话相关事件。 3. **spring-context.jar** - 提供了上下文容器,管理bean的创建、初始化、配置和查找。它支持AOP(面向切面...
通过`HttpSessionActivationListener`,开发者可以控制会话在不同服务器之间的迁移。此外,`java.servlet.SessionIDManager`接口允许自定义会话ID的生成和管理,以适应跨服务器的会话共享需求。 六、异步处理 虽然...
`HttpSessionActivationListener`用于监听`session`的序列化与反序列化操作,但一般情况下,这些操作是由服务器自动完成的。 #### 监听器使用 监听器的使用通常遵循以下步骤: 1. **编写监听器类**:实现相关的...
- **interface: HttpSessionActivationListener** - **interface: HttpSessionBindingListener** - **interface: HttpSessionAttributeListener** ### 6. Custom Tags Custom Tags允许开发者创建可重用的HTML和XML...
- **HttpSessionBindingListener** 和 **HttpSessionActivationListener**: - 这两个监听器主要用于实现对象的序列化和反序列化。 - 实现了这些监听器的对象,在放入或从`HttpSession`中移除时,将自动触发序列化...
HttpSessionActivationListener - **方法**: - `sessionDidActivate(HttpSessionEvent hse)`:当HttpSession从非活跃状态变为活跃状态时调用。 - `sessionWillPassivate(HttpSessionEvent hse)`:当HttpSession...