gpt4 book ai didi

struts2 - 我应该通过 SessionAware 还是 ActionContext 获取 session ?

转载 作者:行者123 更新时间:2023-12-02 11:00:48 24 4
gpt4 key购买 nike

阅读了通过 ActionContext.getContext().getSession() 获取 session 映射与通过注入(inject) session 映射之间的差异之后SessionAware 我想知道哪种方法是首选方法,为什么?

API 建议使用 SessionAware,我在网上读到,使用 SessionAware 使应用程序更易于测试 - 测试是唯一的问题吗?

有人可以详细说明一下这个主题或指出解释这个问题的引用文献吗?

最佳答案

我已经在您之前的问题中回答了相同的问题。您可以使用任何一种方式,甚至可以通过更多方式访问 session 。

单向

Map attibutes = ActionContext.getContext().getSession();

但是,如果您使用它,并且您的操作类直接绑定(bind)到 ActionContext,这是 Struts2 特定的方式。Struts2 的主要目标之一是将 Action 类与底层 HTTP 上下文以及其他直接依赖项解耦。此外,为普通 POJO 编写测试用例比其他方式更容易且更好。

通过实现 SessionAware 接口(interface),您向 Struts2 表明您希望将 session 作为一个简单的映射对象,这不仅使代码更加解耦,而且易于维护和测试。

我希望其他人能在这方面提出更多好的观点

关于struts2 - 我应该通过 SessionAware 还是 ActionContext 获取 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com