java jsp相关问题,高手进

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:11:32
jsp中用户登录的时候,我把所有登录在线用户以List保存在 application ,用来显示在线用户.点击关闭按钮可以清空掉对应application的用户, 可是要是我直接关闭网页窗口有什么办法能清空对应的用户么? 我jsp新手,

你可以用session监听器 实现HttpSessionListener接口

js会不会?
<script language="javascript" type="text/javascript">

function window.onbeforeunload(){
if(event.clientX>360 &&event.clientY<0||event.altKey) {
//向服务器发送离线信息
window.top.location.href="<c:url value='/'/>exitOA.do";
window.alert("你已退出!");
}
}
</script>

给你提供个思路参考:
1 先在页面得到保存在application中的key
2 窗体关闭事件<body onunload="test()" >
3 调用js发出请求,在action中处理,同时将key 传过去
function test(){
window.location.href = aaa.do?k=key;
}
4 在java类中清空application中的key
String key = request.getParameter("k");
删除...
我没试过,你试下,希望有结果。

你可以通过KEY来查找对应的用户,也就是你在放入List时的操作应该是:add(用户ID,用户名),这样你在退出时遍历list查找对应的用户ID删掉即可,你可以把这个加到退出的链接上,如果是想直接关闭见面窗口实现上述操作的话,则必需用到AJAX,或者DWR,当你熟悉这两个工具,你就知道应该怎么实现了

你可以用ses