HttpSessionActivationListener监听器和其他简单用法及简介

学习内容:

提示:这里可以添加要学的内容

例如:

  1. 了解八大监听器有哪些
  2. 了解钝化与活化
  3. 主要掌握HttpSessionActivationListener

学习时间:

 1.了解八大监听器有哪些

监听器分类

监听器名称

作用

ServletContext监听
ServletContextListener
用于对ServletContext对象进行监听(创建,销毁)
ServletContextAttributeListener
用于对ServletContext对象中的属性监听(增删改属性)
Session监听
HttpSessionListener
用于对Session对象中的整体状态监听(创建,销毁)
HttpSessionAttributeListener
用于对Session对象中的 属性监听(增删改属性)
HttpSessionBindingListener
监听对象于Session的绑定和解除
HttpSessionActivationListener
对Session数据的钝化和活化监听
Requsst监听
ServletRequestListener
用于对Requsst对象进行监听(创建,销毁)
ServletRequestAttributeListener
用于对Requsst对象中的属性监听(增删改属性)

2.了解钝化与活化

钝化:序列化(Serializable)(把数据存储到硬盘里面) session默认是30分钟

活化:反序列化(从硬盘中拿出来)

3.主要掌握HttpSessionActivationListener

1.tomcat服务器下面的conf里面context.xml添加下面的代码

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="true">
    <Store className="org.apache.catalina.session.FileStore" directory="D:\Develop\Tomcat\apache-tomcat-8.0.53\conf\Session"/>
   </Manager>

2.我是先在Student类上实现监听的操作

 对象的类中

@WebListener
public class Student implements HttpSessionActivationListener, Serializable {
    private String aa;
    private  int ddd;

    public Student() {
    }

    public Student(String aa, int ddd) {
        this.aa = aa;
        this.ddd = ddd;
    }

    public String getAa() {
        return aa;
    }

    public void setAa(String aa) {
        this.aa = aa;
    }

    public int getDdd() {
        return ddd;
    }

    public void setDdd(int ddd) {
        this.ddd = ddd;
    }

    @Override
    public void sessionWillPassivate(HttpSessionEvent se) {
        System.out.println("被钝化呢");

    }

    @Override
    public void sessionDidActivate(HttpSessionEvent se) {
        System.out.println("被激活了");
    }
}

//servlet类中
@WebServlet("/aa")
public class Servletlistener extends HttpServlet {
       @Override
      protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
           Student st = new Student();
           st.setAa("312312");
           HttpSession session = req.getSession();
           session.setAttribute("dd",st);
           System.out.println("进来了");

       }
}

 


学习产出:

提示:这里统计学习计划的总量

例如:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值