在struts2中获得会话的最佳和推荐方法



在struts2中有很多获取会话对象的方法。哪一个是最好的和推荐的方法来获得会话对象从下面?

  1. ActionContext
  2. SessionAware
  3. 获取请求ServletRequestAware并在会话后从请求对象获取请求

现在我使用ServletRequestAware在所有操作中获取会话对象,即使请求对象不需要。

哪个是最好的,为什么它是最好的?

Thanks in advance

实现SessionAware是首选,尽管您也可以通过其他方式访问会话。
通过实现SessionAware,你给struts2一个机会注入会话属性(这是映射)到你的动作。这使您的代码不会耦合到底层servlet上下文,也使测试更容易,因为您可以将任何映射对象传递给具有所需属性的操作。此外,对该会话映射所做的任何更改都将反映在实际会话对象上。

agree with doctrine。使您的操作实现会话感知,并创建会话变量(它是Map变量)。这个变量可以像普通变量一样处理。代码将看起来更整洁。

相关内容

最新更新