怎么判断用户离线?

armyshu 2002-04-20 04:33:51
一个商务系统,要求用户必须先登陆才能使用,登陆的时候包括用户的ID,PWD,机构等信息,正常情况下,用户点击退出按纽才能正常退出,下次必须从新登陆,但现在有一个问题,用户总是忘记这一点,而点击IE的关闭按纽,这样就造成用户不能使用,请问我要怎么获得用户关闭IE这个事件然后去自动调用我的用户退出的SERVLET?请给出原代码,一点小分,不成敬意!
...全文
116 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
armyshu 2002-04-22
  • 打赏
  • 举报
回复
我现在地实现方式是这样的:
用户输入:帐号和密码
applet进行加密,送到SERVER,
SERVER端查询数据库当前登陆用户是否在线,是,则告诉用户重复登陆,否在根据用户注册时的信息,转到用户要去的JSP(数据库中有一个字段表示用户在线情况)
用一个监视线程判断用户时候15分钟都没有点击页面,是,强制用户退出,用户点击别的页面的时候提示登陆。
页面中有要求用户安全退出的链接,但是用户经常直接关掉IE,造成15用户只有在15中之后才能重新登陆。
freejob 2002-04-22
  • 打赏
  • 举报
回复
在服务器端怎么知道,这个人已经断线了呢?如果用户不是关ie,而是直接断电了,又怎么判断用户已经下线了呢?各位,帮帮忙了,很急,用java或者javascript,能判断吗?
MagicJohn 2002-04-22
  • 打赏
  • 举报
回复
伙计,Javascript 由于浏览器的不同支持的Javascript 也不同,比如unload在Netscape中就得不到支持,最好在Session中处理logout事件,这样会使你一劳永逸。你可以用做成不同的javabean来处理不同的问题。
xhh 2002-04-22
  • 打赏
  • 举报
回复
To: whyyy78(笑笑)
“如果用户关闭IE,那么session会自动注销,不是等到二十分钟。”
这句话好像不对吧,呵呵~~
让Session注销只有两种情况:超时和设置为null。
armyshu 2002-04-22
  • 打赏
  • 举报
回复
thisfellow说得正确,因为我还有一些东西要放到logout这个SERVLET中来处理,因此,我希望能找到其它的处理方式,就是从JAVASCRIPT来获得用户关闭IE的事件。
谢谢大家,请继续讨论,发言者都有分,不够在开!
jintooth 2002-04-21
  • 打赏
  • 举报
回复
Session!没问题!
ThisFellow 2002-04-21
  • 打赏
  • 举报
回复
因为你不允许一个客户同时多次登录才有的这个问题?
还是因为你必须有一些处理要放在logout中作?
否则,仅用session就完全能够解决。
songkaihli 2002-04-21
  • 打赏
  • 举报
回复
对这个一般都是用Session,如果用户关IE,Session就不存在了。其他上面说的很清楚了,呵呵
whyyy78 2002-04-21
  • 打赏
  • 举报
回复
你对session的理解怎么是这样的?
如果用户关闭IE,那么session会自动注销,不是等到二十分钟。
armyshu 2002-04-21
  • 打赏
  • 举报
回复
这样子也不行,因为在业务忙的时候,用户不小心关掉了IE,那么就必须等二十分钟以后,这样子客户就给耽误了,!我们现在的方式就是这样子的,现在必须找到一种改进的方式?

各位大虾?真没别的办法了吗?“路人甲”呢?“天生不笨”呢?
hxyxh 2002-04-20
  • 打赏
  • 举报
回复
没办法。可以用session,比如设定退出后20分钟内自动在session里消失
armyshu 2002-04-20
  • 打赏
  • 举报
回复
这样子不行,因为加了这段代码之后,用户登陆进去马上系统就自动把他踢出来了,还有没有别的办法,或则是我用的方式不对
nothing 2002-04-20
  • 打赏
  • 举报
回复
<body onunload="处理关闭事件的函数">

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧