用户登陆OA系统后,当非正常退出时,如何知道他是否在线??

Goal3 2004-09-21 02:23:46
一个OA系统,用户登陆后显示状态为在线,用户点“退出”后,状态变为“离线”,将其状态字存在数据库中,但有时用户非正常退出时,其状态始终为“在线”,
请问:如何解决???可以用session来判断一个用户是否在线吗?
...全文
271 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Goal3 2004-09-23
up
回复
szpqq 2004-09-22
function doUnload()
{
if (window.event.clientX < 0 && window.event.clientY < 0)
{
window.open("<%=host%>/jsp/exit.jsp");
}
}

<body leftmargin="0" topmargin="0" bgcolor="#d4d0c8" onunload=doUnload()>


你在exit.jsp清掉session后再自行关闭
good luck!
回复
番茄妞 2004-09-22
请问我如何才能判断session失效
回复
Goal3 2004-09-22
up
回复
loveyf 2004-09-22
等session超时吧,要不然只能用JAVASCRIPT去判断了!
回复
Goal3 2004-09-22
to szpqq(Gavin) :
有时用户退出时并没有点"退出". 如: 他的session值在30分钟后自动失效后退出了系统, 怎么样去自动执行一次"window.open("<%=host%>/jsp/exit.jsp");" 段代码???
回复
番茄妞 2004-09-22
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.lang.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ include file="publib/db.jsp" %>
<HTML><HEAD>
<title>呼和浩特市地方税务局电子催报催缴系统</title>
<SCRIPT language="javascript">
function doUnload()
{
if (window.event.clientX < 0 && window.event.clientY < 0)
{
window.open("logout.jsp");
}
}
</SCRIPT>
<%
String code=(String)session.getAttribute("code");
newDBAccess sqlStmt = new newDBAccess(DBCONNSTRING, DBUSER, DBPWD);
String sql="select Type from UserInfo where Code='"+code+"'";
java.sql.ResultSet rs = sqlStmt.executeSelect(sql);
if(rs.next()){
System.out.println(rs.getString("Type"));
if(rs.getString("type").equals("0")){//普通用户
%>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<frameset rows="50,*" frameborder="NO" border="0" framespacing="0">
<frame src="top.htm" name="top" scrolling="NO" noresize >
<frameset cols="230,*" frameborder="NO" border="0" framespacing="0">
<frame src="title.htm" name="left" scrolling="NO" noresize>
<frame src="workdispose.jsp" name="main" scrolling="no" noresize>
</frameset>
</frameset>
<noframes>

<%
}else{//管理员用户
%>
<frameset rows="50,*" frameborder="NO" border="0" framespacing="0">
<frame src="top.htm" name="top" scrolling="NO" noresize >
<frameset cols="230,*" frameborder="NO" border="0" framespacing="0">
<frame src="left.htm" name="left" scrolling="NO" noresize>
<frame src="zbgl.jsp" name="main" scrolling="no" noresize>
</frameset>
</frameset>
<noframes>

<%
}
}
sqlStmt.CloseDB();
%>
<body bgcolor="113B69" topmargin="0" leftmargin="0" onunload="doUnload()">
<p>此网页使用了框架,但您的浏览器不支持框架。</p>

</body></noframes>
</HTML>
回复
番茄妞 2004-09-22
楼上的!那个代码不执行
回复
Goal3 2004-09-21
我可以通过session来判断所有人员的在线情况吗?好象不行吧, 请举例说明。
回复
pigrain 2004-09-21
超时
回复
mr0lwq 2004-09-21
来晚了,同意楼上!
回复
treeroot 2004-09-21
不是正常断线,只有等Session超时了
回复
odys 2004-09-21
应该可以吧,用户在线的时候session是存在的,就算是否正常断线,那个session都是断掉咯
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-21 02:23
社区公告
暂无公告