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。

最新文章

  1. 游戏编程系列[1]--游戏编程中RPC协议的使用
  2. Java -- File
  3. NHibernate系列文章一:NHibernate介绍
  4. memset与malloc性能测试
  5. java笔记--适配器模式的运用
  6. linux下用core和gdb查询出现"段错误"的地方【转】
  7. Readhat Linux5.5 安装SVNService(经验总结)
  8. A Tour of Go For is Go's "while"
  9. [NOIP1999提高] CODEVS 1047 邮票面值设计(dfs+dp)
  10. Friendship of Frog(水题)
  11. Android:自己定义PopupMenu的样式(显示图标/设置RadioButton图标)
  12. [51nod1457]小K vs. 竹子
  13. ognl版本错误
  14. shell 基础(二)变量
  15. Ubuntu查看crontab运行日志
  16. Nginx 多核cpu负载均衡
  17. Codeforces Round #552 (Div. 3) A题
  18. QT插件+ROS 2 新建项目
  19. 洛谷P1403 约数研究【思维】
  20. Java用Jackson遍历json所有节点

热门文章

  1. 下载 Microsoft SQL Server JDBC 驱动程序
  2. solr-in-action-ch4-Configuring Solr
  3. 使用Salt-ssh部署Salt-minion之源码安装(二)
  4. window linux IPC ftok BY_HANDLE_FILE_INFORMATION
  5. WPF-Binding对数据的检验
  6. 拍照权限,GPS权限的控制
  7. Mongo同步数据到Elasticsearch
  8. CodeIgniter框架——访问方式 URI 分配变量 数据库操作
  9. 【BZOJ4849】[Neerc2016]Mole Tunnels 模拟费用流
  10. Git is fundamentally a content-addressable filesystem with a VCS user interface written on top of it