Session 活化与钝化 与tomcat钝化驱动器
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钝化驱动器的更多相关文章
- JavaWeb监听器详解
1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象.有监听域对象"创建" ...
- JavaWeb笔记——三大组件之监听器
1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l 监听域对象“创建”与“销毁”的 ...
- 十四、JavaWeb监听器
JavaWeb监听器 三大组件: l Servlet l Listener l Filter Listener:监听器 初次相见:AWT 二次相见:SAX 监听器: l 它是一个接口,内容由我们来实现 ...
- Javaweb学习笔记——(二十)——————Javaweb监听器、国际化
Javaweb监听器 三大组件 *Servlet *Listener *Filter Listener:监听器 1.初次相见:A ...
- 转-JavaWeb三大组件之Listener监听器
JavaWeb三大组件之Listener监听器一.概述1,它是一个接口,内容由我们来实现 2,它需要注册,例如注册在按钮上 3,监听器中的方法,会在特殊事件发生时被调用 二.JavaWeb中的监听器1 ...
- 超全面的JavaWeb笔记day20<监听器&国际化>
JavaWeb监听器 三大组件: l Servlet l Listener l Filter Listener:监听器 1. 初次相见:AWT 2. 二次相见:SAX 监听器: l 它是一个接口,内容 ...
- Day20 javaWeb监听器和国际化
day20 JavaWeb监听器 三大组件: Servlet Listener Filter Listener:监听器 初次相见:AWT 二次相见:SAX 监听器: 它是一个接口,内容由我们来 ...
- JavaWeb中监听器
一.事件源:三大域! ServletContext 生命周期监听:ServletContextListener,它有两个方法,一个在创建时调用,一个在销毁时调用: void contextIniti ...
- JavaWeb中的监听器
JavaWeb中的监听器 l 事件源:三大域! ServletContext ¨ 生命周期监听:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时 ...
随机推荐
- 如何高效的阅读hadoop源代码?
个人谈谈阅读hadoop源代码的经验. 首先,不得不说,hadoop发展到现在这个阶段,代码已经变得非常庞大臃肿,如果你直接阅读最新版本的源代码,难度比较大,需要足够的耐心和时间,所以,如果你觉得认真 ...
- Android 线性布局(LinearLayout)相关官方文档 - 指南部分
Android 线性布局(LinearLayout)相关官方文档 - 指南部分 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用 ...
- Spring Data JPA实体详解
1. Spring Data JPA实体概述 JPA提供了一种简单高效的方式来管理Java对象(POJO)到关系数据库的映射,此类Java对象称为JPA实体或简称实体.实体通常与底层数据库中的单个关系 ...
- http1.1 协议响应方面参数
HTTP1.1 提供了一个必须的Host字段,而且建立好一次连接之后可以重复使用.提高用户的上网体验. 响应信息 HTTP/1.1 200 OK ...
- 2017年WorkApplication牛客网线上机试题
WorkApplication是一家日企,主要办公地在东京.新加坡.上海等地. 第一题:n的全排列中有多少个排列逆序数为k 输入两个数字n,k,两个数字的范围都是[1,1000]. 输出:n的全排列中 ...
- INFORMATION_SCHEMA数据库介绍
删除mysql数据库某一张主键表的所有外键关系 SELECT CONCAT('alter table ', TABLE_NAME , ' drop foreign key ', constraint_ ...
- memset(&a, 0, sizeof(struct customer))函数
memset(&a, 0, sizeof(struct customer))函数定义在memory.h中,用于给指定的内存区域赋值,在该语句中,&a指定待赋值的内存首地址,0是要赋的值 ...
- 1.Java基础-面向对象编程思想(封装继承多态接口)
封装: 1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. 2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的 ...
- 使用fork并发处理多个client的请求和对等通信p2p
一.在前面讲过的回射客户/服务器程序中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现.网络服务 ...
- Linux中断 - softirq
一.前言 对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top half),是全程关闭中断的,另外一部分是deferable task(bottom half),属于不那 ...