Java 按下后退按钮后,会话不会被破坏
我面临一个奇怪的问题。 我的注销代码如下:Java 按下后退按钮后,会话不会被破坏,java,spring,hibernate,jsp,session,Java,Spring,Hibernate,Jsp,Session,我面临一个奇怪的问题。 我的注销代码如下: @RequestMapping(value = "/logout", method = RequestMethod.GET) public String thanks(HttpSession session) { session.removeAttribute("parentEmail"); session.invalidate(); return "redirect:parent-login";
@RequestMapping(value = "/logout", method = RequestMethod.GET)
public String thanks(HttpSession session) {
session.removeAttribute("parentEmail");
session.invalidate();
return "redirect:parent-login";
}
但注销后,我会收到/logout?电子邮件的链接=xyz@xyz.com
所以,当我按下“后退”按钮时,我会再次进入上次访问的页面,并可以更新数据。
我已设置为会话属性的电子邮件
谁能告诉我为什么我得到这个网址
默认情况下,所有模型属性都被视为作为URI公开
重定向URL中的模板变量。其余属性的名称
基元类型或基元的集合/数组
类型将自动附加为查询参数
使用redirectAttributes.addAttribute()附加所需的查询参数。
您还应该通过将ModelMap中的任何与身份验证相关的对象设置为null来使该对象无效
model.addAttribute(“parentLogin”,null)
因此,您的方法应该如下所示:
@RequestMapping(value = "/logout", method = RequestMethod.GET)
public String thanks(Model model,RedirectAttributes redirectAttributes,HttpSession session) {
redirectAttributes.addAttribute("logout", "1234");
model.addAttribute("parentLogin",null);
session.removeAttribute("parentEmail");
session.invalidate();
return "redirect:parent-login";
}
您的HTML代码中是否有正确的更改指令?您的页面可能包含在页面显示并重新初始化刚刚失效的会话后加载的资产(图像、iFrame等)。