学习笔记 · JavaWeb持久化监听器-HttpSessionActivationListener

学习笔记 · JavaWeb持久化监听器-HttpSessionActivationListener


作者:氯磷Rolin

HttpSessionActivationListener

Session的持久化

钝化后可以保存到磁盘,文件名为:sessionid.session,下次客户端访问原来的会话(服务器关闭之前的)只要带上原来的sessionid即可把上一次的会话找回来(活化)

  • HttpSessionActivationListener监听器用于监听Session的钝化与活化

  • 钝化(序列化):在服务器出现异常关闭时或者在Session销毁之后,将用户的Session通过序列化之后保存到硬盘上

  • 活化(反序列化):在服务器重启之后,将硬盘上钝化的Session文件加载进服务器的内存,使之用户可以继续正常的访问
    Session的活化和钝化

  • Javabean实现该接口之后,可以感知自己被活化(从硬盘到内存)和钝化(从内存到硬盘)的过程

  • 如果需要同时保存Session中的JavaBean则JavaBean也必须要实现Serializable序列化接口

  • Serializable接口的原因是因为Session要保存到本地,需要转化为二进制流,如果不实现该接口的话,在反序列化中可能会出现InvalidClassException异常

  • 实现此接口的JavaBean与HttpSessionBindingListener一样,不必配置到web.xml中。

具体实现

  1. 创建JSP页面,用于第一次输入用户名并可以显示当前用户名和JSESSION
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>HttpSessionActivationListener测试</title>
      </head>
      <body>
        <%
          if(session.getAttribute("user")==null)  session.setAttribute("user",new user("无用户"));
          //防止NullPointException异常
        %>
        <form action=
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值