日期:2014-05-18  浏览次数:20869 次

[求助]用户退出的问题
页面是一个main.jsp,iframe一个login.jsp,如果用户在这个iframe登陆了,就刷新iframe显示welcome.jsp,welcome.jsp是用户登陆信息,和用户扩展模板、退出两个按钮,在这里按退出也是刷新本iframe显示login.jsp。退出的时候用session.removeAttribute( "user ")把user变量删除
[IMG]http://www.freephotoserver.com/v001/yangedie/wt/01.jpg[/IMG]


购物车(可以在未登陆清空操作购物车)点击结帐去到checkout.jsp,一个CheckOutFilter过滤器专门过滤这个checkout.jsp,判断用户登陆了没有session.getAttribute( "user ")   ==   null,如果没有就让用户登陆后再结帐。
[IMG]http://www.freephotoserver.com/v001/yangedie/wt/02.jpg[/IMG]


问题是一个用户购买了商品结帐了然后退出,没有关闭浏览器。这个时候再操作购物车-> 结帐,有的时候还是会去到checkout.jsp页面。在我本机编译运行是没有出现过,但是打包war部署了就会,不过机率很低。
[IMG]http://www.freephotoserver.com/v001/yangedie/wt/03.jpg[/IMG]


CheckOutFilter过滤器应该会过滤掉这个操作的阿,因为前一个用户已经退出,session也removeAttribute( "user ")了,新用户还没有登陆。是打包war的时候出问题,还是应用了框架和session的问题,还是浏览器缓存的问题?



------解决方案--------------------
推出的话:session.invalidate();
------解决方案--------------------
这只能说明你在处理这个的时候有不当的地方
试试楼上的吧,把Session作废掉!