struts2中的session使用

1.1. 如何获取Session

1.1.1. 获取Session的方式

Struts2中获取Session的方式有3种,大家掌握其中任何一种都可以。

通过ActionContext.getContext().getSession()获得Session,注意其返回类型为 Map<String,Object>。事实上,Session对象存储数据的方式通Map一致,因此Struts2提供了Map类型的 Session,意于简化对Session的操作。

通过ServletActionContext.getRequest().getSession()获得Session,其返回类型为HttpSession。

1.1.2. 各种方式的对比

1、返回类型的对比

  • 第1、3种方式,获取的Session是Map<String,Object>类型,Struts2采用该类型的目的是简化Session对象,而Session的存储结构和Map是一致的。
  • 第2种方式,获取的Session是HttpSession,为了保持兼容性,Struts2提供了获取该类型的方式。

2、获取方式的对比

  • 第1、2种方式,是我们主动的获取Session。
  • 第3种方式,是采用注入的方式自动注入Session,这种方式是被动的。

3、推荐使用第3种方式

这种方式采用了注入的思想,更为灵活。并且是面向接口编程,符合主流的规范。

原文地址:https://www.cnblogs.com/chong518/p/5243143.html