博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpSessionBindingListener的学习
阅读量:4659 次
发布时间:2019-06-09

本文共 2730 字,大约阅读时间需要 9 分钟。

Interface HttpSesssionBindingListenner extends EventListener;

       api文档关于这个接口的介绍是:使对象在被绑定到会话或从会话中取消对它的绑定时得到通知。该对象通过 HttpSessionBindingEvent 对象得到通知。这可能是 servlet 编程人员显式从会话中取消绑定某个属性的结果(由于会话无效,或者由于会话超时)。

       这个接口有两个方法:1. void valueBound(HttpSessionBindingEvent   event)    2. void valueUnbound(HttpSessionBindingEvent   event) .

HttpSesssionBindingListenner 继承自EventListener接口,而EventListener接口是这样的:

public interface EventListener  :A tagging interface that all event listener interfaces must extend.    这句话表明EventListener只是个标记接口,和Cloneable,Serializable类似;这个接口只是用来标记该事件监听器的接口。具体使用如下:

     javabean实现HttpSesssionBindingListenner 接口并实现它的两个方法,当对象别绑定到会话时或从会话中取消对他的绑定时得到通知,即调用该javabean对象的这两个方法。

1 import javax.servlet.http.HttpSessionBindingEvent; 2 import javax.servlet.http.HttpSessionBindingListener; 3 public class User implements HttpSessionBindingListener{     4     private String name; 5     private String pwd; 6     private UserList userList=UserList.getInstance();     7     public User() { 8         // TODO Auto-generated constructor stub 9     }10     public User(String name, String pwd) {11         super();12         this.name = name;13         this.pwd = pwd;14     }15     public String getName() {16         return name;17     }18     public void setName(String name) {19         this.name = name;20     }21     public String getPwd() {22         return pwd;23     }24     public void setPwd(String pwd) {25         this.pwd = pwd;26     }27     @Override28     public String toString() {29         return "User [name=" + name + ", pwd=" + pwd + "]";30     }31     public void valueBound(HttpSessionBindingEvent arg0) {32         // TODO Auto-generated method stub33         this.userList.addUser(this);34         System.out.println(this.name+"上线了!目前在线人数为:"+this.userList.getCount());35     }36     public void valueUnbound(HttpSessionBindingEvent arg0) {37         // TODO Auto-generated method stub38         this.userList.removeUser(this);39         System.out.println(this.name+"下线了!目前在线人数为:"+this.userList.getCount());40     }41 }

 工具类:

1 import java.util.ArrayList; 2 import java.util.List; 3 public class UserList {     4     private static  UserList userList=new UserList(); 5     private List
list=new ArrayList
(); 6 private UserList() { 7 // TODO Auto-generated constructor stub 8 } 9 public static UserList getInstance(){10 return userList;11 }12 public void addUser(User user){13 list.add(user);14 }15 public void removeUser(User user){16 list.remove(user);17 }18 public int getCount(){19 return list.size();20 }21 }

 

以上就是关于 HttpSesssionBindingListenner 接口的学习。。。。。。

转载于:https://www.cnblogs.com/YsirSun/p/7846413.html

你可能感兴趣的文章
css样式优先级
查看>>
爬虫的自我修养
查看>>
我们到底需要一款什么样的管理软件
查看>>
微信mac版的bug 直接显示了消息原始数据
查看>>
【皇甫】☀Hibernate入门
查看>>
2018软件秋季学期学习总结
查看>>
php与mysql实现用户数据的增删改查
查看>>
nginx优化配置
查看>>
MySQL 2019.5.13
查看>>
Java 设计模式专栏
查看>>
docker :no such file or directory
查看>>
Level Set Hair Shell
查看>>
NOIP练习赛题目2
查看>>
51nod算法马拉松15
查看>>
[数据结构]二叉树之二叉链表的类模板实现
查看>>
第10周表格
查看>>
编译原理
查看>>
预测分析几种常见模型基础(2)
查看>>
Svm相关
查看>>
转:Windows Phone 7 设计简介
查看>>