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种方式

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

时间: 2024-08-06 07:58:20

struts2中的session使用的相关文章

Struts2中使用Session的两种方法

在Struts2里,如果需要在Action中使用到session,可以使用下面两种方式: 通过ActionContext 类中的方法getSession得到 Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到session的例子 public class SessionTestAction extends ActionSupport { public Stri

Struts2中使用Session

嗯,没错,过了这么长时间我还在做我的注册和登录. 登陆的部分自然是从数据库中查找响应的用户信息,然后把一个user放到session里, Action中代码如下: public String Login(){ User user = new User(username,password); user = userbiz.Login(user); if(user != null){ session.put("user", user); return this.SUCCESS; } ret

struts2中取得session的公共方法类

该公共方法类一般建立在com.xxx.util包下面 package com.dgh.util; import java.util.Map; import org.apache.struts2.interceptor.SessionAware; /** * * 获得session * @author wangcunhuazi */ public class BaseAction implements SessionAware { protected Map<String,Object> ses

SSH学习-Struts2中的session

Struts中也有session,跟其他框架类似,也需要用它保存用户信息,或者其他信息.学习发现,Struts2获取session有三种方式,下面引入登录的案例,分别使用三种方式验证用户名和密码信息. Struts2获取session的三种方式 (1)使用工厂方法获取,使用ActionContext实现,session为Map<String,Object>类型 (2)使用注入方式获取session,session为Map<String,Object>类型 (3)使用ServletA

struts2中的session、request 、和action往页面中传值的方法

ActionContext.getContext().put("list", list); ActionContext.getContext().getValueStack().push(listName);//准备回显数据 session中放数据: ActionContext.getContext().getSession().put("user", user); /** 注销 */ public String logout() throws Exception

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

1 登录逻辑 1.1 获取登录数据(例如:用户民.密码) 1.2 在控制层调用业务层来验证数据信息 1.3 登录成功:保存用户信息(服务器用session.浏览器用cookie),跳转到主页满 1.4 登录失败:留在登录页面,并给出错误提示信息 2 什么是session 就是一个会话对象,有服务器创建,目的是为了共享数据(注意:每一个浏览器对应一个session对象) 3 session的工作原理 待更新... 2017年7月3日21:53:09 4 在struts2中获取session对象的方

Struts2中获取Web元素request、session、application对象的四种方式

我们在学习web编程的时候,一般都是通过requet.session.application(servletcontext)进行一系列相关的操作,request.session.和application他们都是web开发最常用和最实用的对象,有了它们可以大大方便开发人员进行开发和操作.但是在struts2中,基本都是action,这些个方法都是没有requet.session.application,所以如何获取这几个常用对象,也成了大家都比较关注的问题,下面我就来演示下,如何在struts2中

【JAVA学习】struts2的action中使用session的方法

尊重版权:http://hi.baidu.com/dillisbest/item/0bdc35c0b477b853ad00efac 在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到sessi

在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等 .

笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出.本文发表于ITEYE,谢绝转载. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中