在Action中通过两种方式往session中存取数据的一个问题

发布于 2022-09-06 06:20:40 字数 1904 浏览 13 评论 0

在研究ServletActionContext.getRequest().getSession()和ActionContext.getcontext().getSession()两者的区别和联系时发现个问题,就是第10句的输出,这里还有test=testValue这个键值对,参考第15句的输出,这个地方该怎么理解呢?我感觉没完全想明白,还请各位给分析一下,先谢谢了。
xxxAction.java


1  Map session1 = ActionContext.getContext().getSession();
2  HttpSession session0 = ServletActionContext.getRequest().getSession();
3  session0.setAttribute("test", "testValue");

4  System.out.println("ServletActionContext.getRequest().getSession():" + session0);
5  System.out.println("ActionContext.getContext().getSession():" + session1);
6  System.out.println("session1.get(test):" + session1.get("test"));
7  System.out.println("session0.getAttribute(test):" + session0.getAttribute("test"));

8  ServletActionContext.getRequest().getSession().removeAttribute("test");
9  System.out.println("ServletActionContext.getRequest().getSession().removeAttribute(test) complete.");

10 System.out.println("ActionContext.getContext().getSession():" + session1);
11 System.out.println("session1.get(test)" + session1.get("test"));
12 System.out.println("session0.getAttribute(test):" + session0.getAttribute("test"));

13 session1.remove("test");
14 System.out.println("ActionContext.getContext.getSession.remove(test) complete.");
15 System.out.println("ActionContext.getContext().getSession():" + session1);

输出:

ServletActionContext.getRequest().getSession():org.apache.catalina.session.StandardSessionFacade@16023aaa
ActionContext.getContext().getSession():{test=testValue}
session1.get(test):testValue
session0.getAttribute(test):testValue

ServletActionContext.getRequest().getSession().removeAttribute(test) complete.
ActionContext.getContext().getSession():{test=testValue}
session1.get(test)null
session0.getAttribute(test):null

ActionContext.getContext.getSession.remove(test) complete.
ActionContext.getContext().getSession():{}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文