java只用7行代码实现“同一账号不能重复登录”

我们平时登录qq时,如果已经登录,则会提示不能重复登陆。
在这里插入图片描述
功能实现:
可以在登录时获取当前用户的sessionId,根据sessionId是否为空来判断当前是否有用户登录

     ServletContext application = session.getServletContext();
     String sessionId = (String) application.getAttribute(user.getUsername()); //获取登录用户的 sessionId
     if (sessionId!=null && !"".equals(sessionId)) {
     
			System.out.println("该账号已登录,请您更换账号进行登录!");
			//跳转到登陆页面
		    return "redirect:/user/login";   
		} else {
     
		    application.setAttribute(user.getUsername(), session.getId());//设置登录用户的 sessionId
		}

退出时删除该用户的sessionId

ServletContext application = session.getServletContext();
application.removeAttribute(user.getUsername());    //系统退出,移除该用户的sessionId

原文链接:https://blog.csdn.net/itmyhome1990/article/details/81031631

你可能感兴趣的:(java,session)