这2天,好像被2次问到了。这个问题确实是一个老问题了,我这里就再次澄清一下我的看法吧。
论坛的问题如下: http://topic.csdn.net/u/20090308/20/ecc564f6-c85b-46f3-8e0e-ddc98b8788f6.html?seed=768270850
当用户登录后,进行了商品选购.即将其加入了购物车.并没有进行提交(即生成订单).就将网页关闭了.可是购物车里面用session保存的商品信息并没有被清空.请问该在何处写清空session的代码.是不是用sessionId来做啊.该怎么做呢
我的个人观点:
没有办法,你唯一能做的,就是将session的过期时间缩短。
我开着浏览器,不进行任何动作,与我拔断网线,没有任何区别。
所以,服务器端是根本无法区分到底是否连线的。
你总不能让客户端频繁的(ping)服务器吧,呵呵!
其根本原因,http协议是无状态的,而session是基于客户端发来的标识来识别的,比如cookie里面的JSESSIONID,
所以,只要服务器端session没有超时,下次发来同一个JSESSIONID的请求,服务器就会认为是同一个Session了。