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 个