Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 是否可以让spring控制器为用户返回非重复的随机条目_Java_Spring_Random_Controller - Fatal编程技术网

Java 是否可以让spring控制器为用户返回非重复的随机条目

Java 是否可以让spring控制器为用户返回非重复的随机条目,java,spring,random,controller,Java,Spring,Random,Controller,我有一个基于spring的服务器,它有一个请求方法,当用户调用该方法时,该方法应该随机返回数据库中条目数的一个。但在会话中,用户不应重复这些问题(如测验中的不重复问题)。每个条目都由唯一的条目号标识。(从1到n)我通过在请求之间为用户提供相同的HttpContext来管理会话 我在考虑做类似的事情 在控制器中有一个数组字段,该字段在每次方法调用期间被洗牌,第一个数组元素用作要从数据库中获取的条目的条目号。但是,如果多个用户同时连接到控制器,这可能会产生影响。我想知道设计这个的好方法是什么。如果需

我有一个基于spring的服务器,它有一个请求方法,当用户调用该方法时,该方法应该随机返回数据库中条目数的一个。但在会话中,用户不应重复这些问题(如测验中的不重复问题)。每个条目都由唯一的条目号标识。(从1到n)我通过在请求之间为用户提供相同的HttpContext来管理会话

我在考虑做类似的事情
在控制器中有一个数组字段,该字段在每次方法调用期间被洗牌,第一个数组元素用作要从数据库中获取的条目的条目号。但是,如果多个用户同时连接到控制器,这可能会产生影响。我想知道设计这个的好方法是什么。如果需要,我可以共享控制器的代码。

我只是通过简单地播放系统日期和时间来尝试这一点。如果您使用系统日期和时间,那么它在每个时刻都是唯一的,因此您可以使用此技巧在整个系统中生成唯一的随机数。祝你好运

如果您有会话,为什么不使用它来存储数组字段呢。这就解决了多个用户的问题。

我不知道如何设置“每会话”字段。由于控制器类是singleton,因此我在其中拥有的任何成员字段都将是所有会话的公共字段。在spring控制器中,您可以通过在方法的ArgumentsHanks中添加“HttpSession session”来获取当前会话LBO。使用洗牌数组作为会话属性变量使其正常工作。