【问题标题】:Spring: close session infoSpring:关闭会话信息
【发布时间】:2015-01-27 01:31:25
【问题描述】:

我使用购物车 bean (scope=session) 创建了一个 Spring MVC 项目,并将 Client 对象设置为:

@SessionAttributes(value="client") 

如果我想消除会话中存在的所有内容,则此代码不起作用。为什么?

@RequestMapping(value="/logout",method=RequestMethod.GET)
public String closeSession(SessionStatus status){
    status.setComplete();
    return "redirect:/";
}//closeSessione
  1. 它只删除了 Client 对象,但如果我想同时删除 Cart bean,我该如何解决?

  2. 然后我创建具有范围 = 会话的客户端 bean 更好,还是 @SessionAttributes(value="client") 也不错?

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

    首先,你应该使用@SessionAttributes,在这里你会发现一些比较:Spring: Understanding on difference between @SessionAttributes vs @Scope('session')

    尝试这样做以删除会话的所有对象。

    @RequestMapping(value="/logout",method=RequestMethod.GET)
    public String closeSession(HttpServletRequest request){
        HttpSession session=request.getSession();  
        session.invalidate();  
        return "redirect:/";
    }//closeSessione
    

    【讨论】:

    • 但是@SessionAttributes 将对象保存到HttpSession 中?
    • 是的,请查看这篇文章以获取更多信息。 intertech.com/Blog/…
    猜你喜欢
    • 2020-07-12
    • 1970-01-01
    • 2010-12-06
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2013-07-26
    相关资源
    最近更新 更多