为什么用单例,有什么特点与平常的实现类?

为什么用单例,有什么特点与平常的实现类?

LoginMessage类:

该类是单例,有存储用户登录sessionID和用户登录session的Map集合,有通过用户名查询和设置sessionID的方法,以及通过sessionID查找和设置session的方法。

public class LoginMessage {
private static LoginMessage instance = new LoginMessage();

private Map<String,String> loginUserSession = new HashMap<String,String>();// key值:登录用户登录名,value值:登录用户sessionId
private Map<String, HttpSession> loginSession = new HashMap<String,HttpSession>();//key值:登录用户sessionId,value值:登录用户session对象

private LoginMessage(){

}
public static LoginMessage getInstance(){
return instance;
}

public String getSessionIdByUsername(String username){
return loginUserSession.get(username);
}
public HttpSession getSessionBySessionId(String sessionId){
return loginSession.get(sessionId);
}
public void setSessionIdByUserName(String username,String sessionId){
loginUserSession.put(username, sessionId);
}
public void setSessionBySessionId(String sessionId,HttpSession session){
loginSession.put(sessionId, session);
}
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2021-04-13 17:45:26

同学你好,这里的单例模式是指LoginMessage在服务器中只有一份,这样每个登陆的用户存储的信息都会在一个对象中。方便后面去判断用户是否登陆。如果不是单例每个用户创建一个对象那么就不准确的找登陆的用户了,所以这里应该使用单例模式

祝学习愉快~​

  • 提问者 qq_慕神0589333 #1

    前面的章节有讲过吧,记得

    2021-04-13 19:52:40
  • 好帮手慕阿园 回复 提问者 qq_慕神0589333 #2

    同学你好,是的,在前面一阶段的课程中有讲解到关于单例模式的使用

    祝学习愉快~

    2021-04-14 10:11:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师