java web用户重复登录问题 20

当你在一台电脑上登录了账号,然后又在另外一台电脑上登录(同一个账号),就立马提示前一台账号下线通知,就和QQ等下线通知一样,求解,急急急!!!... 当你在一台电脑上登录了账号,然后又在另外一台电脑上登录(同一个账号),就立马提示前一台账号下线通知,就和QQ等下线通知一样,求解,急急急!!! 展开
 我来答
姜小萌的小文库
2014-04-01
知道答主
回答量:30
采纳率:0%
帮助的人:13万
展开全部
最简单的做法:
你可以在数据库表中增加一个字段,loginStatus(命名就随便了)就设置2个值把 1和2(随便什么都行)一个用户登录的时候,如果loginStatus的值是1,则将其更改为2 如果是2,则更改为1这时候,将更改后的值存储在session中,则每次进行有关用户操作的时候, 都去表中查看loginStatus的值跟你session中的值是否相同如果不相同,则将session存储的用户信息remove掉你会很奇怪,为什么会不同,很简单:如果此时,另外一个人登录的时候,走的是相同的业务逻辑,这时候会把loginStatus的值更改。则前一个登录的人session中存储的loginStatus当然就不一样了
真真真意
2014-04-01 · TA获得超过1743个赞
知道小有建树答主
回答量:1818
采纳率:33%
帮助的人:530万
展开全部
将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录用户的登录情况。
http://blog.csdn.net/chenghui0317/article/details/9373345
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-01
展开全部
session状态控制啊。。如果有session值一样的,就清除上一个session,然后建立新的session。再清除session前,返回一句“重复登录,被迫下线”
更多追问追答
追问
java不是很熟,请问在action中怎么立马提示了??
追答
struts的拦截器可以实现,,,servlet 的filter也可以实现。。立马提示的。。不懂你的意思。
防止重复登录:就是在服务器端传一个id,然后通过这个id保持连接,等这个id再次登录时,就可以给前面那个链接返回“重复登录”,然后和后面这次登录的id做连接。

刚刚说错了,,,如果是不同的机器,你用application级别的缓存去存id。保持连接。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式