Java Session对象的钝化和活化

钝化和活化的本质是序列化和反序列化
钝化:将内存中的session对象存储到硬盘,防止会话结束后session遗失。
活化:钝化的逆过程,读取硬盘中的session对象于内存中。
实现钝化的操作步骤如下:
1.配置apache-tomcat-9.0.27\conf\context.xml文件

   <Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="2"><Store className="org.apache.catalina.session.FileStore" directory="pow" /></Manager>

上面的maxIdleSwap是最大时间限制,单位是秒,超过了这个时间,内存中的session对象,会自动的存储到directory指定的目录:apache-tomcat-9.0.27\work\Catalina\localhost\该项目\pow中。
2.创建一个监听器,并实现HttpSessionActivationListener,Serializable这两个接口
第一个接口实现监听(钝化和活化)的功能,第二个接口实现反序列化(活化)。
特别说明一下:该监听器不需要额外的配置web.xml.

public class A implements HttpSessionActivationListener,Serializable{private String key;
public String setKey(String key){this.key = key ;
}
public String getKey(){return key;
}
@Overridepublic void sessionDidActivate(HttpSessionEvent se) {System.out.println("活化完成!!!");}@Overridepublic void sessionWillPassivate(HttpSessionEvent se) {System.out.println("钝化完成!!!");}
}

3.我们现在就可以通过jsp将上面的实例化对象放入session中

<body>
钝化页面:<%A a = new A();a.setKey("卢泽龙大帅比");session.setAttributte("a",a);%>
</body>

运行上面的jsp过了一段时间就会看见控制台提示钝化完成!!
此时apache-tomcat-9.0.27\work\Catalina\localhost\该项目中可以看见新创建的文件夹pow。
4.验证(调用硬盘里面的session):

<body>
活化页面:<br/>
key的值为${sessionScope.a.key}
</body>

结果很成功的取出key值为“卢泽龙大帅比”,并且控制台打印出活化完成!
这些只是在下的片面理解,如有不对还望大佬指教!

Java Session对象的钝化和活化相关推荐

  1. Session 的钝化与活化

    (一)钝化 当服务器正常关闭时,还存活着的session(在设置时间内没有销毁) 会随着服务器的关闭被以文件("SESSIONS.ser")的形式存储在tomcat 的work 目 ...

  2. JavaWeb-WEB核心7 会话技术 理解什么是会话跟踪技术掌握Cookie的使用掌握Session的使用(钝化、活化)完善用户登录注册案例的功能

    会话技术 今日目标 理解什么是会话跟踪技术 掌握Cookie的使用 掌握Session的使用 完善用户登录注册案例的功能 1,会话跟踪技术的概述 对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理 ...

  3. 对于session序列化跟session的钝化与活化的粗浅理解

    1. API对序列化的解释:类通过实现 java.io.Serializable 接口以启用其序列化功能.未实现此接口的类将无法使其任何状态序列化或反序列化.可序列化类的所有子类型本身都是可序列化的. ...

  4. session的钝化和活化

    钝化:内存->硬盘 活化:硬盘->内存 session对象的四种状态: 1.session.setAttribute("a",xxx),将对象a绑定到session中 ...

  5. java中的session对象,Java对象中Response与session对象的方法是什么?

    广州达内Java培训小编了解到Java对象种类很多,有的小伙伴最不清楚的就是Response与session对象的方法,下面小编就搜集Response与session对象的方法供大家阅读.当一个客户首 ...

  6. Java web—Cookie与Session对象

    接着上篇的Servlet总结,本篇文章来总结下 Cookie 和 Session 一.会话介绍 1.什么是会话? 从打开浏览器,到访问页面,到最终关闭浏览器 ,整个过程就是一次会话 2.会话的特性: ...

  7. java中session对象登录_JavaWeb中Session对象的学习笔记

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  8. [原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定...

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  9. 06CookieSession-12. HttpSession的钝化和活化

    (一)钝化 当服务器正常关闭时,还存活着的session(在设置时间内没有销毁) 会随着服务器的关闭被以文件("SESSIONS.ser")的形式存储在tomcat 的work 目 ...

  10. session 对象的简单实例

    一个session对象的简单实例: 1.登录界面:使用简单的html表单提交界面. <%@ page language="java" contentType="te ...

最新文章

  1. 0x35.数论 - 组合数学与计数
  2. erlang-百度云推送Android服务端功能实现-erlang
  3. 802.11协议中的action帧的使用
  4. 福利|PMCAFF问答专家群-社区大咖聚集地
  5. Tomcat 的类加载机制
  6. C++ 专题:陈皓:Why C++? 王者归来
  7. APP技巧:盘点微信去年更新的9个更新功能,你都知道吗?
  8. android @style/name,android style和attr的用法
  9. 全国计算机统考在线模拟网站,全国计算机统考模拟试题
  10. Codeblocks下载安装使用教程
  11. 微信一键激活 设置开卡字段
  12. 移动设备管理的具体措施有哪些?(下)
  13. java实现中文转拼音包含声调
  14. matlab 光平面标定代码,光平面标定法
  15. safenet 超级狗 加密狗
  16. RFC5731 - 中文翻译(原创)
  17. 右键没有WinRAR压缩的解决方法
  18. 全球排名前四的眼药水,第一款来自欧洲老牌安瞧AGEPHA Pharma,眼科医生自留!
  19. Virustotal的使用
  20. WML信息查询与后端信息发布系统实现-java -(报告+源码)

热门文章

  1. MongoDB从入门到熟悉
  2. 数据挖掘与六度分隔理论
  3. ce变速注入dll失败_调用CE变速DLL注入的软件含HOOK模块
  4. 9014,9013,8050三极管引脚图与管脚识别方法
  5. 用数据分析看泰坦尼克号
  6. Excel中如何使用COLUMN和COLUMNS函数
  7. Droid razr xt910 tegra2 地牢猎人2 dungeon hunter2
  8. python利用matplotlib库绘制三维图学习
  9. kalibr fov畸变模型
  10. VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化