创建session
注入httpsession
和**((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession();**的区别是什么
创建session的两种方法的区别,来大神指点
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-08 16:25关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Java EE中,有两种主要的方法可以用来创建会话:一种是使用
HttpSession对象,另一种是使用ServletRequestAttributes。-
使用
HttpSession:HttpSession session = request.getSession(); -
使用
ServletRequestAttributes:((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getSession();
这两种方法的主要区别在于它们如何访问和操作
HttpServletRequest。HttpSession是一个持久化的会话容器,它可以在服务器端存储数据,并且可以通过request.getSession()或request.getAttribute("key")等方法获取和修改数据。而ServletRequestAttributes则是在请求级别上提供了一些与HTTP相关的属性和操作,例如设置、读取和清除响应状态码、发送HTTP头、重定向等。总之,选择哪种方法取决于你的具体需求。如果你需要一个持久化的数据存储系统,那么
HttpSession可能是更好的选择。如果你只需要一些基本的HTTP操作,那么ServletRequestAttributes可能就够了。解决 无用评论 打赏 举报-