用ajax 点击退出是向服务器请求一下
解决方案 »
- 500空指针..求指点.
- 急!急!急!struts2+ext文件上传出现乱码 急!急!在线等待!!!!!!!!!
- 使用novell提供的ldap.jar操作openLDAP的问题
- servlet执行完后,不返回页面,如何请求另一个servlet?
- 配置环境变量的困惑
- spring与hibernate整合,如何配置与多个数据库连接的事务?
- 在线等!客户端调用cmp bean,数据库为空??
- CMP+CMR+<automatic-key-generation>+SQLServer2000+weblogic8.1的看起来不太可能解决的问题
- 100分求《Java网络程序设计:J2EE(含1.4最新功能)》一书的光盘代码
- 新手真的很无力,一个错误找了一晚上也没照出来,求好心人指点
- servlet中的跳转问题,急急急,在线等
- JSP+IBATIS出现的难以解答的问题!!求助!!
在谈论session机制的时候,常常听到这样一种误解“只要关闭浏览器,session就消失了”。其实可以想象一下会员卡的例子,除非顾客主动对店家提出销卡,否则店家绝对不会轻易删除顾客的资料。对session来说也是一样的,除非程序通知服务器删除一个session,否则服务器会一直保留,程序一般都是在用户做log off的时候发个指令去删除session。然而浏览器从来不会主动在关闭之前通知服务器它将要关闭,因此服务器根本不会有机会知道浏览器已经关闭,之所以会有这种错觉,是大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接服务器时也就无法找到原来的session。如果服务器设置的cookie被保存到硬盘上,或者使用某种手段改写浏览器发出的HTTP请求头,把原来的session id发送给服务器,则再次打开浏览器仍然能够找到原来的session。
恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间。
当你关闭浏览器的时候通过Ajax去请求!~!这样就监听到了浏览器的恶意关闭事件
然后再通过JavaScript代码去操作数据库用户的状态!~!