增加以下代码:
登录中:
//用户信息
loginhou hou =
loginhoumapper
.findbyname(name);
//获得全局变量中增加用户信息
ServletContext sc = session.getServletContext();
Map map = (Map) sc.getAttribute(
"loginhous"
);
map.put(hou.getId(), hou);
session监听器中:
public
void
sessionDestroyed(HttpSessionEvent se) {
HttpSession session = se.getSession();
loginhou loginhou = (loginhou) session.getAttribute(
"loginhou"
);
// 获得全局变量中删除用户信息
ServletContext sc = session.getServletContext();
Map map = (Map ) sc.getAttribute(
"loginhous"
);
map.remove(loginhou.getId());
}
ServletContext监听器中:
public
void
contextInitialized(ServletContextEvent arg0) {
/**
* 启动服务器时,
* 往ServletContext对象set(初始化)一个对象,
* 这个对象的含义是,
* 保存所有在线后台用户的信息
* 结构:
* ServletContext 全应用变量
* ↓ 绑定名: loginhous
* Map 所有后台用户的信息
* ↓ 绑定名: loginhous的id
* loginhou 用户的信息
*/
ServletContext sc = arg0.getServletContext();
Map map =
new
HashMap<String, loginhou>();
sc.setAttribute(
"loginhous"
, map);
}