谁使用application和session的做过聊天室? 如果做过那聊天室的话。这个问题就解决了
解决方案 »
- CSS做圆角矩形,不要JS,不要图片,能修改圆角矩形的大小,边框的颜色
- fckeditor编辑器问题,不怕分少,只怕解决不了!
- 怎么设置combobox下拉列表的宽度??
- 使用logic:iterate生成表单提交后取不到值,在线等待
- 请问大家一下,这个是什么错误啊,基础的SERVLET问题。
- (急)哥们们快来帮个忙:如何在jsp 中调用spss或sas进行数据挖掘?
- jsp+tomcat,tomcat每次启动都出现警告信息。
- 无法通过链接打开doc文档(急!!!)
- tin_dra,我们继续进行我们的工程:把购物车的信息放入数据表中.
- 想找一个开源的API文档管理系统
- %%%%%%%%%%数据库问题%%%%%%%%%%5
- bean无法向jsp输出中文,只输出“?”,怎么解决??求救
HttpSessionListener中有个sessionCreated(HttpSessionEvent se),在创建Session时被调用,所以要想在其中判断用户是否登陆比较难
那应该怎么做? 还有什么接口能实现吗? 我要源码!谢谢!!
import javax.servlet.http.*;
import java.util.*;
import com.oztime.right.UserObject;public class SessionCounter implements HttpSessionListener {private static int activeSessions = 0;
private static Vector v= new Vector();
public void sessionCreated(HttpSessionEvent se) {
}
public static void createsession(HttpSessionEvent se ) {
UserObject user1 =(UserObject)se.getSession().getAttribute("UserObject");
if(v.contains(user1)==false){
v.add(user1);
activeSessions++;
System.out.println("===================用户名称=================="+user1.getName());
System.out.println("===================用户数量=================="+activeSessions);
} }public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
UserObject user2=(UserObject)se.getSession().getAttribute("UserObject");
if(v.contains(user2)==true){
v.remove(user2);
activeSessions--;
System.out.println("===================removed=================="+user2.getName());
} }
public static void Destroysession(UserObject user) {
//System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
//UserObject user3=(UserObject)se.getSession().getAttribute("UserObject");
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+user.getName());
if(v.contains(user)==true){
v.removeElement(user);
activeSessions--;
System.out.println("====================================="+user.getName()+"---退出登录!!!");
} }public static int getActiveSessions() {
return activeSessions;}public static Vector getVector() {
return v;
}
}
UserObject user1 =(UserObject)se.getSession().getAttribute("UserObject");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面这行代码能否取得用户对象(UserObject)表示疑问???
因为此事件是session创建时产生的。你并没有对也不可能对session 赋值。你怎么获取? session刚建立,只有sessionID值其他均为空!! if(v.contains(user1)==false){
v.add(user1);
activeSessions++;
System.out.println("====用户名称==============="+user1.getName());
System.out.println("====用户数量==============="+activeSessions);
}
}能否说清楚一些??再一个createsession好像不是HttpSessionListener的接口。你是如何使用的???
UserObject user1 =(UserObject)se.getSession().getAttribute("UserObject");
这个方法是自定义的 是在用户登陆后调用的
SessionCounter.createsession(new HttpSessionEvent(session));