- 论坛徽章:
- 0
|
很简单的东西讨论这么长,也真厉害了。
一个监听器加几个全局静态变量就搞定了。
public class SessionListener extends HttpServlet implements HttpSessionListener {
public static java.util.HashMap sessionl= new java.util.HashMap();
//Notification that a session was created
public void sessionCreated(HttpSessionEvent se) {
System.out.println("新创建 sessionid is "+se.getSession().getId());
//把session的引用放到一个全局静态变量里
sessionl.put(se.getSession().getId(),se.getSession());
}
//Notification that a session was invalidated
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("被释放的 sessionid is "+se.getSession().getId());
//把session的引用移出,好让系统可以及时释放内存
sessionl.remove(se.getSession()); }
}
----------------
jsp:
0) {
java.util.Collection cc=qq.values();
Object aa[] =cc.toArray();
for (int i = 0; i
让指定的session失效(传入参数为已知的sessionID,完全可以根据需要修改成用户名之类的参数)
invalid.jsp
------------------
如果要一个用户id只能一个用户在线,再加个全局的静态Map,用用户id作key,sessionId作value就可以了。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86974/showart_2008999.html |
|