在阅读了通过以下方式获取会话映射之间的差异之后ActionContext.getContext().getSession()
并让它注入SessionAware
我想知道哪种方法是首选方法,为什么?
该API推荐使用SessionAware
,我在网上读到使用SessionAware
使应用程序更易于测试——测试是唯一的问题吗?
有人可以详细说明这个主题或指出解释这一点的参考文献吗?
我已经在您之前的问题中回答了相同的问题。您可以使用任何一种方式,甚至可以通过更多方式访问会话。
one way
Map attibutes = ActionContext.getContext().getSession();
但是如果你使用这个并且你的动作类直接与ActionContext
这是Struts2特有的方式。
Struts2 的主要目标之一是将 Action 类与底层 HTTP 上下文以及其他直接依赖项解耦。
此外,为普通 POJO 编写测试用例比其他方法更容易且更好。
通过实施SessionAware
您向 Struts2 表明您希望将 session 作为一个简单的映射对象,这不仅使代码更加解耦,而且易于维护和测试。
我希望其他人能在这方面提出更多好的观点
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)