Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java桌面中的会话_Java_Session_Authorization_Desktop Application - Fatal编程技术网

java桌面中的会话

java桌面中的会话,java,session,authorization,desktop-application,Java,Session,Authorization,Desktop Application,有人知道我们是否可以在java桌面应用程序中创建类似会话的机制吗? 我将开发一个java桌面应用程序,它有一个登录机制,以确保只有经过授权的人才能访问存储的信息,然后我想如果java可以像会话一样,或者如果有任何机制可以像会话一样。这就是全部。 有人能解释一下吗?会话基本上由一组二进制或序列化对象组成,映射到会话id。可以独立地,也可以通过映射或表。是的,您可以通过使用智能DB模式实现类似的功能。只是要小心谁能看到(并使用)那个数据库 不过,我认为你的方法不是最好的。毕竟,我认为该应用程序将在每

有人知道我们是否可以在java桌面应用程序中创建类似会话的机制吗? 我将开发一个java桌面应用程序,它有一个登录机制,以确保只有经过授权的人才能访问存储的信息,然后我想如果java可以像会话一样,或者如果有任何机制可以像会话一样。这就是全部。
有人能解释一下吗?

会话基本上由一组二进制或序列化对象组成,映射到会话id。可以独立地,也可以通过映射或表。是的,您可以通过使用智能DB模式实现类似的功能。只是要小心谁能看到(并使用)那个数据库


不过,我认为你的方法不是最好的。毕竟,我认为该应用程序将在每台机器上的任何时间由单个用户使用,所以我认为这不是最好的方法。相反,您应该以某种方式保存当前的“会话”(也称为应用程序状态),而不是将会话视为Servlet方式。

会话只是一个hashmap,每个用户一个。因此,您可以认为每个用户都有自己的hashmap,允许他们存储对象。在servlet中,会话由接口提供

类似会话的机制取决于应用程序的体系结构。如果它是一个厚客户端实现,只包含两层(数据库层和java客户端),并且大多数业务代码都嵌入到java应用程序中,那么每个用户都有自己的JVM在自己的机器上运行java代码。因此,您只需为桌面应用程序创建一个单例hashmap。当应用程序启动时,只需初始化此hashmap并输入一个键及其布尔值以指示用户的登录状态(例如,
singltonHashmap.put(“login”,false)
)。一旦用户登录,您应该将登录密钥的值更新为true,以指示用户已登录

如果java桌面应用程序是瘦客户机实现,它有一个应用服务器来处理来自所有用户的所有请求,那么您可以使用
企业JavaBeans规范(EJB)定义的
有状态会话bean
。客户端和有状态会话bean实例之间存在一对一映射。应用程序服务器将确保同一客户端的后续方法调用由同一有状态bean实例处理。您只需在有状态会话bean中声明一个hashmap,并将您希望在会话期间跟踪的对象放在该hashmap中。这是供你参考的