struts2中的session使用

Posted qiaochong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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种方式

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

以上是关于struts2中的session使用的主要内容,如果未能解决你的问题,请参考以下文章

Struts2的登录验证和session控制

???Struts2框架03 session的使用登录逻辑session工作原理

关于Struts2中Action从表单取值并且存到Web元素中(session)

在Struts2的Action中获得request response session几种方法

struts2 action中获取request session application的方法

Strust2中,加入监听器来判断用户是否在session中存在。