大家帮我看看吧,线程问题

lw2050 2007-11-13 10:16:38
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;
}
}
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dddeee 2007-11-14
  • 打赏
  • 举报
回复
试试单步调试吧
lw2050 2007-11-13
  • 打赏
  • 举报
回复
就没有一个人给各回答吗? 什么破网

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧