我有一个连接到数据库的登录页面,数据库只有一个客户端,当用户登录时,他/她可以对他的个人资料进行某些更改然后保存。大量帧需要当前用户ID才能操纵他的数据
存储当前登录用户的可能方式是
1)将数据保存到临时文本文件并在用户注销之前保留它
2)另一种选择是在所有帧中使用变量,但是我对此并不太自信
3)第三种方法是在数据库中有一个布尔列,并在其中保留字段的数据为真
也许有更好的方法来存储当前用户Id可以有人阐明其他可能的方法,并参考“最佳”方法来强调每个实现的优缺点
编辑:这是一个桌面应用程序
答案 0 :(得分:2)
我建议不要在任何静态上下文中共享此信息,因为一旦它变得足够大,它将使您的项目很难测试。有关详细信息,请参阅此链接:When to use singletons或What is so bad about singletons?
我要做的是将会话对象存储在某个地图中,通过ID给出相应的会话,该ID将通过客户端cookie发送给您。这就是网络多年来一直在做的事情,它仍然是这样做的。只需将会话对象传递给需要在需要时访问该数据的任何类。
如果您正在使用J2EE实现,那么您可能已经支持该实现中的会话,您应该查看"How to Use Sessions"
这更像是一个软件设计问题,并且覆盖了完成用于支持我刚刚建议的模式的基础,不幸的是超出了问题的范围
答案 1 :(得分:1)
记录的用户是Person或LoggedUser类的实例。
您必须实例化它,并通过模型在视图之间分享其参考。