1、 session持久化是什么?  web服务器把 session中存储的属性存储到本地磁盘或数据库中;

2、为什么需要持久化? 因为 session是服务器维护会话状态的对象,即便客户端关闭连接或客户端长时间没有访问,服务器还依然存储了客户端的访问数据,浪费了服务器资源;

为了提高服务器内存利用率,其会将暂时不活动但未超时的 session对象 存储到本地或数据库(持久化或序列化); 一旦服务器想要恢复 之前某客户的访问状态时,就可以从本地或数据库恢复他们到内存(反序列化);

3、session持久化怎么做 ? 

看个荔枝(代码转自张孝祥):

// servlet 持久化
public class PersistentServlet extends HttpServlet
{public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter();HttpSession session = request.getSession();Student1 student1 = (Student1)session.getAttribute("student1");if(student1 == null){student1 = new Student1();student1.setValue(35);session.setAttribute("student1",student1);out.println("将student1保存到了Session中!<br>");}else{out.println("读取student1:" + student1.getValue() + "<br>");}Student2 student2 = (Student2)session.getAttribute("student2");if(student2 == null){student2 = new Student2();student2.setValue(33);session.setAttribute("student2",student2);out.println("将student2保存到了Session中!<br>");}else{out.println("读取student2:" + student2.getValue() + "<br>");}}
} 
// 没有实现序列化接口 Serializable
public class Student1
{private int value = 0;public void setValue(int value){this.value = value;}public int getValue(){return value;}
}// 实现序列化接口 Serializable
public class Student2 implements Serializable
{private int value = 0;public void setValue(int value){this.value = value;}public int getValue(){return value;}
}

访问步骤;

1、第一次访问 , 因为session 没有会话信息,所以先保存;

2、点击刷新; 读取第1次访问时,存储的会话信息;

3、这时关闭 tomcat 服务器; tomcat 会把session中的属性从内容持久化到本地文件, 路径   tomcat\work\Catalina\localhost\myweb2

4、再次启动 tomcat 服务器, 再次访问; 这时由于 student1 没有实现Serializable 序列化接口,所以该对象没有被持久化到本地;而 student2 实现了Serializable接口,其信息被持久化到本地,即可以恢复上一次会话;

servlet session持久化相关推荐

  1. java session 持久化_自定义实现session持久化

    自定义实现session持久化 使用场景 对于有登录校验的网站,tomcat 重启之后,刷新页面又得重新登录,影响用户体验. 原因: tomcat 的session 在内存中,tomcat重启之后,内 ...

  2. shiro 的session持久化

    对于分布式系统,一般都牵扯到Session共享问题, 而想实现Session共享,就要实现Session的持久化操作,即是将内存中的Session持久化至缓存数据库. SessionDAO是Shiro ...

  3. 【Session】Tomcat中Session持久化到文件系统或数据库

    参考的优秀文章 Tomcat Session 持久化 Package org.apache.catalina.session 最近同事在做Session外置的功能,我对Session持久化.共享也不太 ...

  4. 基于shiro实现session持久化和分布式共享

    前言 本文写下session持久化和分布式共享 基于shiro框架对session的管理机制来实现 必要性 一直处于登陆状态:你登陆微信 不可能三天两头就让你重新登陆吧?而是一直处于登陆状态 除非主动 ...

  5. Servlet Session 跟踪

    什么是session呢?了解session之前,先要简单了解http协议. http协议是面向无连接的协议,一次请求,一次操作,然后就结束了,是没有状态的.就是说,用户请求一次,server响应一次, ...

  6. Tomcat7 session 持久化关闭

    Tomcat7 session 持久化关闭 tomcat 7默认开启session持久化功能,这样当你的tomcat重启之后,会自动重新加载session,这样当tomcat重启了保存在session ...

  7. Flask的会话技术:cookie、session以及session持久化问题

    文章目录 一.会话技术 1.介绍 2.详细过程 二.Cookie 1.Cookie介绍 2.Cookie登陆使用 三.Session 1.Session介绍 2.Session登陆使用 3.Sessi ...

  8. java session持久化_Session的生命周期和持久化

    ![](https://box.kancloud.cn/44537ef796e6a49c6421fd9186276df6_468x371.png) web.xml中配置,session的计算是从停止操 ...

  9. servlet session listener

    HttpSessionListener-创建与销毁 //@WebListener servlet3.0支持注解 public class HttpSessionListenerDemo impleme ...

最新文章

  1. 【HDOJ】3487 Play with Chain
  2. 实用的bit 位操作
  3. java弧线_数据可视化API之弧线图实现
  4. 替换k个字符后最长重复子串
  5. 数据结构入门学习笔记-1
  6. 652. 寻找重复的子树
  7. 重学TCP协议(12)SO_REUSEADDR、SO_REUSEPORT、SO_LINGER
  8. c语言截图代码,截图代码 哪位大神帮我找一下错,截出来的图是这样子的
  9. PHP垃圾回收机制理解
  10. Maven : JsonMappingException: Incompatible Jackson version: 2.9.5
  11. java swing 删除事件_java swing清除事件队列
  12. RabbitMq之简单队列
  13. 【JVM学习笔记一】JVM内存分布
  14. The requested resource is not available. 原因,成功解决
  15. PHP版三合一收款码_附50多款模板源码
  16. RestTemplate.exchange各种用法(包括泛型等 --全)
  17. 正向有功正向无功_电表的正向有功和反向无功的详细解读
  18. HashMap源码学习——初探
  19. 关于VS2017许可证过期问题
  20. 网页二维码生成器纯js代码带logo图纯前端合成

热门文章

  1. [Wannafly挑战赛2D-Delete]最短路
  2. Almost Sorted Array HDU - 5532
  3. 【网络流专练一】UVA五题(UVA12125,UVA11082,UVA10983,UVA1306,UVA10735)
  4. 【CF1307F】Cow and Vacation(并查集+lca倍增)
  5. P1712-[NOI2016]区间【线段树,尺取法】
  6. YbtOJ#20236-[冲刺NOIP2020模拟赛Day9]红点蓝点【线段树,堆】
  7. P4552-[Poetize6]IncDec Sequence【差分】
  8. 欢乐纪中A组赛【2019.8.17】
  9. jzoj1252,P5194-天平【dfs,set】
  10. P2053 SCOI2007 修车,费用流好题