listener.java

来自「这是一个用JAVA语言编写的BBS论坛程序」· Java 代码 · 共 55 行

JAVA
55
字号
package javabean;

import javax.servlet.http.*;
import java.util.Iterator;
import java.util.Map; 
import java.util.HashMap;

public class Listener extends HttpServlet implements HttpSessionListener, HttpSessionAttributeListener {
  private static Map map=new HashMap();
  private String user_name;

  public void sessionCreated(HttpSessionEvent event){
  }

  public void sessionDestroyed(HttpSessionEvent event){
  }

  public void attributeAdded(HttpSessionBindingEvent event){
    HttpSession session=event.getSession();
    user_name=(String)session.getAttribute("u_name");
    map.put(session,user_name);
  }

  public void attributeRemoved(HttpSessionBindingEvent event){
  }

  public void attributeReplaced(HttpSessionBindingEvent event){
    HttpSession session=event.getSession();
    user_name=(String)session.getAttribute("u_name");
    if(user_name.trim().equals(",")){map.remove(session);}else map.put(session,user_name);
  }

  public static int getOnLineGuest(){
    int OnLineGuest=0;
    for(Iterator it=map.keySet().iterator();it.hasNext();){//entrySet()
      Object key=it.next();
      if(map.get(key).equals("")){
        OnLineGuest++;
      }
    }
    return OnLineGuest;
  }

  public static Map getOnLineUser(){
    Map map2=new HashMap();
    for(Iterator it=map.keySet().iterator();it.hasNext();){//entrySet()
      Object key=it.next();
      if(!map.get(key).equals("")&&!map.get(key).equals(",")){
        map2.put(map.get(key),map.get(key));
      }
    }
    return map2;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?