有关session 在做网站登录和退出时,发现退出登录后,点击浏览器上的回退,仍可以回到登录后的页面,而且状态是已经登录。在退出时已经s通过ession.removeAttribute("user");移除了session,但是点击浏览器上的回退,user还存在session,是缓存的原因吗?还是其他? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 存储在 Session 对象中的信息在会话及会话作用域内有效 但是我在退出的时候,已经移除了session的user,怎么后退的时候,还有值? 个人感觉应该是缓存,你可以在回退到的那个页经行操作,提交请求,看user是否存在 应该是你没有验证是否登陆吧。后退时回到了前一页面,但session应该是不存在了的。你加一个过滤器判断有没登陆。 你测试一下,在ession.removeAttribute("user");后再get一下session看是否被移除。 我同样遇到过此类问题 我想着应该是缓存在浏览器中的静态页面的内容 你试试在关闭浏览器时 清除一下缓存 然后重新打开浏览器 访问此网页试试 我要强调的是 session.remove()这个方法是没有错的 简单点的方法是 你在地址栏中重新输入你要访问的网址 按回车试试还会出现此问题吗 HttpSession session = request.getSession();session.removeAttribute("user");User user=(User)session.getAttribute("user");在移除user后,这里的user是null但是在后退后,刷新在过滤器发现user是有值的。这是怎么回事? flush()下下行不或者直接给个null有时候remove不起作用 看配置文件里面的配置怎么样spring 是起作用了,在调试的时候action方法里HttpSession session = request.getSession();session.removeAttribute("user");User user=(User)session.getAttribute("user");这时候看到user是null;但是在后退后刷新在过滤器却发现user还是有值的。很纠结啊 如果你能确认退出登录时,在session中移除了用户信息。并且页面代码“已登录”是根据session信息判断输出的。 那你可以删除一下浏览器的缓存,再试试。如果还不行,请先看看代码是否有问题。 通常情况下把session的熟悉移除,在页面再判断一下是否为空就可以的!有可能是缓冲也有可能是你的代码问题!要是不行,session.invalidate();如果这个时候开可以,就是你的判断出问题了! 代码是没有问题的,页面上这样<meta http-equiv="pragma" content="no-cache">应该是没缓存了吧 真的要用hibernate吗? 求一本struts2的书 个别action访问异常,急 在线等 谢谢!!! 关于session取值的问题 求个简单的struts标签+ajax例子 请问,在JSP前台页面中如何屏蔽F11系统键! JSP有用到水晶報表嗎 “Microsoft][ODBC 驱动程序管理器] 无效的游标状态” 哪里有javadoc可下载呀?哪位大侠有传一个给我吧 jsp怎样与access的数据库连接啊 嵌入frame框架中的网页,为什么无法登录? firefox disable解决方案
HttpSession session = request.getSession();
session.removeAttribute("user");
User user=(User)session.getAttribute("user");在移除user后,这里的user是null
但是在后退后,刷新在过滤器发现user是有值的。
这是怎么回事?
或者直接给个null
有时候remove不起作用
HttpSession session = request.getSession();
session.removeAttribute("user");
User user=(User)session.getAttribute("user");
这时候看到user是null;但是在后退后刷新
在过滤器却发现user还是有值的。很纠结啊
如果你能确认退出登录时,在session中移除了用户信息。并且页面代码“已登录”是根据session信息判断输出的。 那你可以删除一下浏览器的缓存,再试试。
如果还不行,请先看看代码是否有问题。
页面上这样<meta http-equiv="pragma" content="no-cache">
应该是没缓存了吧