0

我有一个连接到数据库的登录页面,数据库只有一个客户端,当用户登录时,他/她可以对其个人资料进行某些更改然后保存。大量帧需要当前用户 id 才能操作他的数据

存储当前登录用户的可能方式包括

1)将数据保存到临时文本文件并在用户注销之前将其持久化

2)另一种选择是在所有帧中使用变量,但是我对此不太有信心

3)第三种方法是在数据库中有一个布尔列,并将字段的数据持久化为 true

也许有更好的方法来存储当前用户 ID

编辑:这是一个桌面应用程序

4

2 回答 2

2

我建议不要在任何静态上下文中共享此信息,因为一旦它变得足够大,它会使您的项目变得非常难以测试。有关更多信息,请参阅此链接:何时使用单例,或单例有什么不好?

我要做的是将会话对象存储在某个映射中,通过 ID 标识适当的会话,该 ID 将通过客户端 cookie 提供并发送回您。这就是网络多年来一直这样做的方式,并且仍然以这种方式进行。只需将会话对象传递给任何需要在需要时访问该数据的类。

如果您使用的是 J2EE 实现,那么您可能已经支持该实现中的会话,您应该查看“如何使用会话”

这更像是一个软件设计问题,不幸的是,涵盖完成用于支持我刚才建议的模式的基础超出了问题的范围

于 2013-10-13T19:12:38.350 回答
1

登录用户是 Person 或 LoggedUser 类的实例。

您必须实例化它并通过Model在Views之间共享它的引用。

于 2013-10-13T18:45:41.133 回答