`
Black_Sun
  • 浏览: 20926 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

系统记录当前在线用户列表

 
阅读更多
public class SessionListener implements HttpSessionListener,
	HttpSessionAttributeListener {

private static HashMap<String, SysUser> userMap = new HashMap<String, SysUser>();// 保存sessionID和user的映射

private static HashMap<String, HttpSession> sessionMap = new HashMap<String, HttpSession>();// 保存sessionID

/** 以下是实现HttpSessionListener中的方法* */
/* 创建session时 */
public void sessionCreated(HttpSessionEvent se) {}

/* session失效时,删除列表中用户信息 */
public void sessionDestroyed(HttpSessionEvent se) {
	userMap.remove(se.getSession().getId());
	sessionMap.remove(se.getSession().getId());
}

/** 以下是实现HttpSessionAttributeListener中的方法* */
/* 调用session.setAttribute( "user", "**** ")时,添加用户信息到列表中 */
public void attributeAdded(HttpSessionBindingEvent se) {
	if (se.getName().equals("user")) {
		userMap.put(se.getSession().getId(), (SysUser) se.getValue());
	}
}

/* 调用session.removeAttribute( "user", "**** ")时,删除列表中用户信息 */
public void attributeRemoved(HttpSessionBindingEvent se) {
	if (se.getName().equals("user")) {
		LoginServlet.userLogout(se.getSession());
		userMap.remove(se.getSession().getId());
	}
}

/* 调用更改 "user "属性值时同时更改列表中用户信息 */
@SuppressWarnings("unchecked")
public void attributeReplaced(HttpSessionBindingEvent se) {}

/* 返回用户列表 */
public static HashMap getList() {
	return userMap;
}

public int getOnlineNumber() {
	return userMap.size();
}

public synchronized static HashMap<String, HttpSession> getSessionMap() {
	return sessionMap;
}

public static HashMap<String, SysUser> getUserMap() {
	return userMap;
}
2
0
分享到:
评论

相关推荐

    获取当前系统用户角色信息

    5. **API调用**: 一些系统提供了API接口来获取用户角色信息,通过发送请求并解析响应,可以获取到当前用户的角色信息。 6. **数据库查询**: 如果用户角色存储在数据库中,可以编写SQL查询来获取。通常,会有用户表...

    unix系统日志系统记录的日志

    `/var/adm/utmp` 是一个非常重要的系统日志文件,用于记录当前登录到系统的用户的详细信息。这个文件包含了所有终端的状态信息,包括但不限于用户ID、终端类型、登录时间等。值得注意的是,当某个用户的shell被不...

    检测当前用户在线明细信息

    其次,要实现"检测当前用户在线明细信息",我们需要记录用户的活动,包括最后活跃时间、浏览的页面、停留时间等。这可以通过在数据库中创建一个表,用于存储用户的登录时间、最后活动时间以及对应的Session ID。每当...

    SSH统计并显示当前在线用户信息

    如果你想要实时监控登录活动,可以使用`watch`命令与`who`或`w`结合,如`watch -n 5 who`,每隔5秒更新一次在线用户列表。 在与Oracle数据库相关的场景下,SSH可以用于远程管理数据库服务器。例如,你可以使用SSH...

    易语言取当前登陆用户

    - 文件权限管理:根据当前用户的身份,程序可以决定是否允许执行特定操作,如读写特定文件或目录。 - 日志记录:记录操作日志时,可以附带当前用户名,便于后期追踪和分析。 - 用户个性化设置:根据登录用户,...

    图书管理系统用户访谈记录.pdf

    本文旨在对图书管理系统用户访谈记录的内容进行详细分析,并从中提取出相关的知识点。 首先,图书管理系统的主要用途是为XX学校图书馆所用,旨在为同学和教职员工提供图书借阅和归还服务。系统的主要功能包括图书...

    金蝶老单或工业单据获取当前用户代码

    在编写相关程序或使用金蝶提供的API时,可以通过以下步骤获取当前用户代码: 1. 调用系统API:金蝶提供了丰富的API接口供开发者使用,其中就包括获取当前登录用户信息的接口。开发者可以在程序中调用这些接口,例如...

    基于JAVA基于局域网的聊天室系统的毕业设计,采用Swing技术,数据库使用MySQL,用于存储用户信息和聊天记录

    登陆成功后,客户端会显示当前在线用户列表和聊天界面。用户可以在聊天界面输入消息并发送,其他在线用户将收到该消息并显示在自己的聊天界面上。 该系统实现了用户登陆、在线用户管理、实时消息交换、聊天记录存储等...

    oracle中记录用户登录信息的触发器的例子

    其中,记录用户的登录信息(如登录时间、用户名和客户端IP地址等)可以帮助管理员更好地监控系统访问情况,及时发现潜在的安全威胁或异常行为。本文将通过一个具体的例子来展示如何在Oracle数据库中创建一个触发器,...

    操作系统之文件系统设计一个n 个用户的文件系统,每次用户可保存m 个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施。至少要有create,delete,open,close,read,write等命令

    - **数据持久化**:用户列表和当前用户文件信息需要保存在磁盘上,以在系统重启后恢复状态。`FILE *Mfp` 和 `FILE *Ufp` 分别用于指向用户列表文件和当前用户文件的指针。 - **添加用户**:`InserMFD` 函数用于添加...

    强大的若依后台管理系统

    在线用户:当前系统中活跃用户状态监控。 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相关的...

    获取当前系统用户登录密码

    通过调用`LogonUser` API,可以尝试验证用户提供的密码是否与系统记录的哈希匹配。但这并不意味着可以获取明文密码,只是验证输入的密码是否正确。 4. **代码示例**:虽然描述中提到了附带的C++源码,但未提供具体...

    python实现得到当前登录用户信息的方法

    安装完成后,可以通过以下代码获取当前用户的详细信息: ```python import win32net import platform import getpass def get_current_user_info(): sHostname = platform.uname()[1] # 获取主机名 sUsername = ...

    学生信息管理系统

    (3)显示功能:可显示当前系统中所有学生的记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。 (5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统...

    vb日常开支记录系统

    "VB日常开支记录系统"是一款基于Visual Basic (VB)开发的个人财务管理软件,它旨在帮助用户轻松记录日常生活中的收支情况,实现对财务状况的有效管理。VB是一种由微软公司推出的编程环境,尤其适合创建Windows应用...

    JavaWeb用户管理系统

    在这个系统中,管理员可以进行登录、查询用户信息、添加新用户、更新用户信息、分页显示用户列表以及删除用户等操作。以下是对这些功能的技术细节解析: 1. **管理员登录**:登录功能通常涉及用户名和密码的验证。...

    提供了自动记录用户信息DLL

    2. 关闭接口:停止用户信息的记录,并可能保存当前的数据到指定文件。 3. 设置记录开关接口:允许在运行时动态改变记录状态,比如在某些特定条件下启动或停止记录。 4. 修改记录文件名接口:在需要时改变数据保存的...

    当前窗口记录器

    5. **性能影响**:考虑到用户体验,"当前窗口记录器"应设计得尽可能轻量级,以避免自身运行对系统性能产生过多影响。这需要优化代码和算法,确保高效且低资源占用的运行。 6. **兼容性**:为了适应不同的操作系统...

    java获取当前系统信息

    最后,我们还可以获取与当前用户相关的信息: - **用户名称**:`user.name`,显示了当前登录用户的用户名。 - **用户主目录**:`user.home`,提供了用户主目录的路径。 - **用户工作目录**:`user.dir`,显示了Java...

    基于springboot+vue+elementui开发的在线考试系统【前端源码+后端源码+数据库】.zip

    在线用户:当前系统中活跃用户状态监控。 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相关...

Global site tag (gtag.js) - Google Analytics