首页 > 代码库 > 【Head First Servlets and JSP】笔记8:监听者

【Head First Servlets and JSP】笔记8:监听者

技术分享

 

1、你不用了解所有监听者API,并不多,一共有8个。不过,你需要知道你能监听什么,以便在需要的时候可以查。

技术分享

 

2、关于Session和Cookie。参见JavaWeb学习总结(十二)——Session by 孤傲苍狼

 

3、HttpSessionBindingListener

这是一个非常有用的监听者,为什么说它有用呢?因为它可以协助我们同步实际对象和数据库的信息。例如:

package com.example;import javax.servlet.http.HttpSessionBindingEvent;import javax.servlet.http.HttpSessionBindingListener;public class Dog implements HttpSessionBindingListener {    private String breed;    public Dog(String breed) {        this.breed = breed;    }    public String getBreed() {        return breed;    }    @Override    public void valueBound(HttpSessionBindingEvent httpSessionBindingEvent) {        // 如果我被增加到某个session就执行这段代码    }    @Override    public void valueUnbound(HttpSessionBindingEvent httpSessionBindingEvent) {        // 如果我从某个session移除,就执行这段代码    }}

我们的实际数据通常是存储在数据库中的,因此,我们一般需要使用数据库信息来填充Dog对象的字段,但是问题是,我们怎么保持数据库记录和Dog对象的信息同步?另外,什么时候让它们同步?

很显然,我们“要用对象”和“不用对象”的时刻(在这之间,对象可能发生改变)就是我们同步的时刻,我们如何知道对象什么时候被用or不用?这就需要一个监听者——HttpSessionBindingListener。

【Head First Servlets and JSP】笔记8:监听者