1,绑定到Session中的 对象有多种状态,分别是   绑定   解除绑定     钝化    活化。

绑定 是保存,通过session.setattribute把对象保存到session的对象当中,解除绑定,remove。钝化就是将session持久化存储设备上。活化就是将session对象从一个存储设备上进行恢复。

2,session的钝化机制:

session正常是放到服务器内存当中的,当在线用户很多时,session内存的开销是巨大的,会直接影响web服务器的性能,session的钝化机制就会解决这个问题

session钝化的本质就是把服务器不经常使用的session对象暂时序列化到系统文件,整个的过程是由服务器自动完成的

3,Tomcat中两种Session钝化管理器

首先session钝化机制是由sessionManager管理

1)第1种管理器是StandarManager

org.apache.catalina.session.StandarManager

当Tomcat服务器关闭或者重启时tomcat服务器会将当前内存中的session对象钝化到服务器文件系统中;

另一种情况是web应用程序被重新加载时,内存中的session对象也会被钝化到服务器的文件系统中

2)Persistentmanager

org.apache.catalina.session.Persistentmanager

首先在钝化的基础上进行扩张,第一种情况如上面1,第2种如2,第3种情况,可以配置主流内存的session对象数目,将不长使用的session对象保存到系统文件或数据库,当用时再重新加载

默认情况下,Tomcat提供2个钝化驱动类

4,servlet规范:

2中接口:HttpServletBindingListener

HttpSessionActionListener

5,实例部分:

当对象实现Persistentmanager的接口之后,这个对象被session绑定了,这时会触发事件,执行方法

注:活化需要实现序列化接口

Session 活化与钝化 与tomcat钝化驱动器的更多相关文章

  1. JavaWeb监听器详解

    1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象.有监听域对象"创建" ...

  2. JavaWeb笔记——三大组件之监听器

    1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l  监听域对象“创建”与“销毁”的 ...

  3. 十四、JavaWeb监听器

    JavaWeb监听器 三大组件: l Servlet l Listener l Filter Listener:监听器 初次相见:AWT 二次相见:SAX 监听器: l 它是一个接口,内容由我们来实现 ...

  4. Javaweb学习笔记——(二十)——————Javaweb监听器、国际化

    Javaweb监听器     三大组件         *Servlet         *Listener         *Filter Listener:监听器         1.初次相见:A ...

  5. 转-JavaWeb三大组件之Listener监听器

    JavaWeb三大组件之Listener监听器一.概述1,它是一个接口,内容由我们来实现 2,它需要注册,例如注册在按钮上 3,监听器中的方法,会在特殊事件发生时被调用 二.JavaWeb中的监听器1 ...

  6. 超全面的JavaWeb笔记day20<监听器&国际化>

    JavaWeb监听器 三大组件: l Servlet l Listener l Filter Listener:监听器 1. 初次相见:AWT 2. 二次相见:SAX 监听器: l 它是一个接口,内容 ...

  7. Day20 javaWeb监听器和国际化

    day20 JavaWeb监听器 三大组件: Servlet Listener Filter   Listener:监听器 初次相见:AWT 二次相见:SAX   监听器: 它是一个接口,内容由我们来 ...

  8. JavaWeb中监听器

     一.事件源:三大域! ServletContext 生命周期监听:ServletContextListener,它有两个方法,一个在创建时调用,一个在销毁时调用: void contextIniti ...

  9. JavaWeb中的监听器

    JavaWeb中的监听器 l  事件源:三大域! ServletContext ¨       生命周期监听:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时 ...

随机推荐

  1. SettingsEclipse

      迁移时间--2017年5月20日08:45:07 CreateTime--2016年11月15日11:07:44Author:Marydon --------------------------- ...

  2. heap与stack的差

    本文内容来源于<程序猿面试宝典>第三版. 在进行C/C++编程时.常常将操作的内存分下面几个类别: 栈区(stack):由编译器自己主动分配和释放,存放函数的參数值.局部变量的值等. 其操 ...

  3. 【Linux】数组与关联数组

    数组 数组的定义: variable=(arg1 arg2 arg3 -) 中间用空格分开,数组的下标从0开始 1.获取下标为n的元素 variable[n] 不存在数组溢出的情况,如果下标n> ...

  4. 读源码 | metisMenu侧边栏插件

    ————————————————————————————————————————————————————————— 使用方法 实现效果 引入文件 <link rel="styleshe ...

  5. [Done]Spring @Pointcut 切点调用不到(SpringAOP嵌套方法不起作用) 注意事项

    今天在开发过程中,遇到一个问题卡了很久,测试代码如下: package spring.pointcut; import org.aspectj.lang.ProceedingJoinPoint; im ...

  6. java中的 public protected friendly private

    1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...

  7. 转:完成端口(Completion Port)详解

    手把手叫你玩转网络编程系列之三    完成端口(Completion Port)详解                                                           ...

  8. spring注解 di 和 ioc 注解

    注解: 1.注解就是为了说明java中的某一个部分的作用(Type) 2.注解都可以用于哪个部门是@Target注解起的作用 3.注解可以标注在ElementType枚举类所指定的位置上 4. @Do ...

  9. leetcode679:24Game

    题目链接 考虑1,5,5,5这种情况,有:5*(5-1/5)=24所以除法必须自定义运算才行. class Num: def __init__(self,up,down=1): self.up=up ...

  10. 你的Android不好用,都是因为这几点原因

    Android早已是全球最大.用户最多的移动操作系统,不过它离全球最好用还差得很远. 大家随手就能举出些曾经历过的糟心体验,如手机卡顿!电量不禁用!广告弹窗老是出现!不过很少有人会追根寻底的去问为何如 ...