大鱼海贼 2019-03-30 19:36 采纳率: 0%
浏览 405

创建session的两种方法的区别,来大神指点

创建session
注入httpsession
和**((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession();**的区别是什么

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 16:25
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Java EE中,有两种主要的方法可以用来创建会话:一种是使用HttpSession对象,另一种是使用ServletRequestAttributes

    1. 使用HttpSession

      HttpSession session = request.getSession();
      
    2. 使用ServletRequestAttributes

      ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getSession();
      

    这两种方法的主要区别在于它们如何访问和操作HttpServletRequestHttpSession是一个持久化的会话容器,它可以在服务器端存储数据,并且可以通过request.getSession()request.getAttribute("key")等方法获取和修改数据。而ServletRequestAttributes则是在请求级别上提供了一些与HTTP相关的属性和操作,例如设置、读取和清除响应状态码、发送HTTP头、重定向等。

    总之,选择哪种方法取决于你的具体需求。如果你需要一个持久化的数据存储系统,那么HttpSession可能是更好的选择。如果你只需要一些基本的HTTP操作,那么ServletRequestAttributes可能就够了。

    评论

报告相同问题?