bs结构中怎样实时知道用户退出?(二次提问,请各位大虾帮帮忙) 使用onbeforeunload,在关闭页面前location到退出页面,在退出页面中让session失效,该用户就退出了~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 据我所知,B/S结构是无法真正实时探测浏览器推出的。如果用户老老实实点你的退出Button当然好,但一般人都是点浏览器窗口右边的小叉叉退出的。所以你无法捕捉到这样的事件。实际上,这既是B/S结构的优势,也是它的短处吧。 笨办法: browser每秒发个信息回服务器,服务器连续三次收不到,就当它是退出。 不好的就是服务器性能可能不会好 我想知道的是用户实时的退出,超时会有一个时间段,如果session的timeout时间设了30分钟,那就只有等30分钟后才知道用户退出 servlet 容器的web.xml里有个web.xml 文件可以配置filter这样每次用户有所动作,都可以记录下来(就是不管他点击了,页面的什么链接,都得通过filter)。这个不知道有没有帮助 http协议的连接是非持续性的,即客户端连接服务器并返回请求后,连接并不能保持。客户端关闭了,并不会自动通知服务器。这是他的优点也是缺点。看你怎么用。如果非要监控用户关闭浏览器事件,只能通过在窗口关闭前触发一个客户端的javascript或html事件,然后向服务器提交告知。比如:window.onClose(),window.onUnload().事件。但onUnload()事件在刷新窗口时也触发。所以,最好用onClose()事件,新建窗口,向服务器提交关闭信息,再自动关闭窗口。另外,Filter是在服务器端控制的,只有向服务器提交请求时才触发。他最多只能监听TimeOut事件,不能实时监听浏览器关闭事件。 to 云飞扬 window.close()事件可不可以捕获?如果能,怎么捕获? 这是javascript的技术,不是jsp的。你自己可以查找啊,具体怎样我忘了。 必须有嵌入容器才行,如用Applet可以实现。做一个客户端与服务器通讯程序,可实时交换数据。 楼主不要再费劲了。如果要求不高,用session timeout基本就可以满足要求了。有很多网站上的在线统计就是这样的做的。如果你的应用对实时性有较高的要求,当初就不应采用B/S结构, 根本办不到的HTTP协议的本质决定的 用js的Onclose来执行logout,或者用applet啦 一句话:不可能实现。简单的解决办法1:timeout2:添加心跳信息 EJB3.0 jar包无法部署到jboss中,求助! 关于网站的模块数据库设计 <tiles:insert>的问题请教! 可以同时安装iis和tomcat服务器吗,在同一台独享主机 多个properties文件如何配置 急~~~请教各位高手一个有关<<几行代码轻松搞定网页的简繁转换>>的 xml解析问题(很只得一看) action中拿不到页面发来的参数! 关于hashcode()方法的覆盖问题 请问servlet或者jsp怎么调用web service?? ****急,救急,Tomcat和Mysql中的中文乱码问题,哪位高手帮我解决?在线等待...**** 高手指明发展方向
如果用户老老实实点你的退出Button当然好,但一般人都是点
浏览器窗口右边的小叉叉退出的。所以你无法捕捉到这样的事件。
实际上,这既是B/S结构的优势,也是它的短处吧。
不好的就是服务器性能可能不会好
里有个web.xml 文件可以配置filter
这样每次用户有所动作,都可以记录下来(就是不管他点击了,页面的什么链接,都得通过filter)。这个不知道有没有帮助
客户端关闭了,并不会自动通知服务器。
这是他的优点也是缺点。看你怎么用。如果非要监控用户关闭浏览器事件,
只能通过在窗口关闭前触发一个客户端的javascript或html事件,
然后向服务器提交告知。比如:window.onClose(),window.onUnload().事件。
但onUnload()事件在刷新窗口时也触发。
所以,最好用onClose()事件,新建窗口,向服务器提交关闭信息,再自动关闭窗口。另外,Filter是在服务器端控制的,只有向服务器提交请求时才触发。
他最多只能监听TimeOut事件,
不能实时监听浏览器关闭事件。
你自己可以查找啊,具体怎样我忘了。
做一个客户端与服务器通讯程序,可实时交换数据。
有很多网站上的在线统计就是这样的做的。
如果你的应用对实时性有较高的要求,当初就不应采用B/S结构,
HTTP协议的本质决定的
1:timeout
2:添加心跳信息