public class UserHash{ 
public static void addLoginUser(String seId,String uName){
        OutHash.put(seId,uName);
}
public static void removeLoginUser(String seId){
    OutHash.remove(seId);
}
public boolean LoginUser(String seId,String uName){
if(OutHash.containsKey(seId)){
if(uName.equals(OutHash.get(seId))){
return true;
}
}
return false;
}
    public static Hashtable OutHash = new Hashtable(50, 5F);
 } 
我在上面这个类中是定义了一个静态哈希表,
在下面这个类中又定义了一个监听器,来调用上面这个类的静态方法为静态哈希表付值,和删除值。public class LoginUsers implements HttpSessionBindingListener{
    public void valueBound(HttpSessionBindingEvent e){
        if(e.getSession().getAttribute("username")!=null){
            userhash.addLoginUser(e.getSession().getId(),(String)e.getSession().getAttribute("username"));
        }
    }
    public void valueUnbound(HttpSessionBindingEvent e){
        userhash.removeLoginUser(e.getSession().getId());
    }
    private com.sso.UserHash userhash;

在下面这个线程里搜索监听的数据,可是发现在线程里根不取不到数据。但是在jsp不用线程是可以取到的,
自己觉得是某种安全机制使我不能用线程访问静态变量,不知道我说的对不,如果是这样有什么好的办法解决这个问题,使我在线程里也可以访问到静态哈希表里的数据?
那位高手帮帮我。我先谢谢了~~~
run(){
if(userhash.LoginUser(seId,uName)){
    pass = true;
}
}