java web 单用户多设备登录,防止重复操作 200

请问是否有方法在javaweb中防止一个用户在多设备同时操作同一数据,导致重复操作的问题,例如用户领奖,每个用户只能领取一次,系统根据标识位是否为0判断是否已经领取,领取... 请问是否有方法在java web中防止一个用户在多设备同时操作同一数据,导致重复操作的问题,
例如
用户领奖,每个用户只能领取一次,系统根据标识位是否为0判断是否已经领取,领取后将标识位设置为1
---------------------背景分割线-----------------------
此时user1用户 同时 在电脑1和电脑2登录系统 同时 进行领奖操作,系统判断标识位时都判断为未领取,导致用户多次领取奖励。请问是否能在不限制用户登录设备的情况下,杜绝这种问题?如果能的话该怎么办?

求指教 谢谢。
展开
 我来答
匿名用户
2018-01-08
展开全部
synchronized 可以使用 同步方法, 只有一个操作完成才进行下一次操作.
追问
这应该是一种办法,谢谢
追答
会影响性能, 所以synchronized里面只放必须要同步的代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沉稳又淡泊丶小猫v
2018-01-08 · TA获得超过3564个赞
知道小有建树答主
回答量:1367
采纳率:80%
帮助的人:117万
展开全部
现在有两种解决方案:
1、将用户的登录信息用一个标志位的字段保存起来,每次登录成功就标记1,注销登录就标记为0,当标记为1的时候不允许别人登录。
2、将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录用户的登录情况。
第一种方式 每次登录 都需要操作数据库,多了一些不必要的性能开销,而且在登录状态下 万一突然电脑关闭了,那就永远都不能登录了,可用性比较低。
第二种方式,可操作性强,很方便维护所有在线用户的信息。
追问
能否在   不限制用户多设备登录   的情况下做呢?   老板不让。。。。。谢谢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式