您的位置:首页 > 编程语言 > Java开发

Struts2 获取 Session对象

2016-04-13 15:31 399 查看
Struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象。

方法1:IOC方式

action类实现SessionAware接口,并创建一个MAP对象session

public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{

public void setServletRequest(HttpServletRequest request) {

this.request=request;

}

public void setSession(Map session) {

this.session=session;

}

方法2:非IOC方式

这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类

获得session对象:

在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。

A.Map session=ActionContext.getSession();

B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);

得到这个SessionMap之后我们就可以对session进行读写了,

如果我们想得到原始的HttpSession可以首先得到HttpServletRequest对象,

然后通过request.getSession()来取得原始的HttpSession对象。

一般情况下SessionMap已经可以完成所有的工作,我们不必再去碰底层的session了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: