当前位置: 代码迷 >> 综合 >> ServletActionContext.getRequest().getSession().setAttribute()和ActionContext.getContext().getSess+区别
  详细解决方案

ServletActionContext.getRequest().getSession().setAttribute()和ActionContext.getContext().getSess+区别

热度:98   发布时间:2024-02-09 23:19:32.0

学习struts2期间,做crm客户关系管理系统中看如下代码时候对session产生了疑惑

在这里插入图片描述
根据一个用户对应唯一一个session,所以这两种方式得到的session应该是同一个,但是区别或者各自作用是什么(果然要勤写笔记,上次课程讲师说过的.)


本质:在不同地方获取的同一个session,各自操作方法不同.

区别所在:ServletActionContext.getRequest().getSession();
这里获取的session是原生的session,可以正常使用setAttribute()和getAttribute(). 想起来上次一起交流学习的喜欢用原生的远古居民网友.

ActionContext.getContext().getSession();
这个方法获取的session是struts封装过的一个Map类型的session,只能调用put()方法缓存数据。


当然,不仅仅有session ,request等对象的获取大家都可以了解或深入一下.

https://blog.csdn.net/JJRFJYFJYFJDFJRUJDJD/article/details/38755905
ActionContext与ServletActionContext的区别及获取request、session等对象
https://blog.csdn.net/ForWayfarer/article/details/3025820
Struts2中ActionContext介紹 && Struts2如何获得request

  相关解决方案