二:用监听器实现一个统计网站在线人数的功能。
提示:创建一个监听器类,通过ServletContextListener监听,当容器启动时,在
ServletContext中添加一个List,用来准备存放在线的用户名;
然后,可以通过HttpSessionAttributeListener监听,当用户
登录成功把用户名设置到Session中时同时将用户名存放到ServletContext
中的List列表中;最后通过HttpSessionListener监听,当会话
提示:创建一个监听器类,通过ServletContextListener监听,当容器启动时,在
ServletContext中添加一个List,用来准备存放在线的用户名;
然后,可以通过HttpSessionAttributeListener监听,当用户
登录成功把用户名设置到Session中时同时将用户名存放到ServletContext
中的List列表中;最后通过HttpSessionListener监听,当会话
注销时将用户名从应用上下文范围的List列表中删除。
user类
package org.listenerdemo;
import java.io.Serializable;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
public class User implements HttpSessionBindingListener,Serializable{
private String name;
public User(){
}
public User(String name){
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void valueBound(HttpSessionBindingEvent arg0) {
System.out.println("User对象被绑定了...");
}
@Override
public void valueUnbound(HttpSessionB