Struts2获取Session的三种方式
2016-12-18 20:39
363 查看
1、Map<String,Object> session = ActionContext.getContext().getSession();
session.put("codeTextFromSys", checkCode.getCodeText());
String codeTextFromSys = session.get("codeTextFromSys");
2、HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("codeTextFromSys", checkCode.getCodeText());
String codeTextFromSys = (String)session.getAttribute("codeTextFromSys");
3、让Action实现SessionAware接口,并实现public void setSession(Map<String, Object> session) {} 方法,Struts2会在实例化Action后调用该方法,通过方法参数将Session对象注入进来。如果我们想获取Session,我们可以定义成员变量,接收注入进来的Session对象。(推荐)
public class PictureCheckCode extends ActionSupport implements SessionAware {
private Map<String, Object> session;
public Map<String, Object> getSession() {
return session;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
}
三种方式的比较:
返回类型的对比:
1,3获取的Session类型是Map<String,Object>类型,2获取的类型是HttpSession。
获取方式对比:
1,2是我们主动获取Session,3是采用注入的方式自动注入Session,这是被动的。
推荐使用3来创建Session,因为它更为灵活而且符合面向接口编程的思想。
补充:jsp页面获取Session的值
在jsp上内置就有session对象,可以直接用。
例如:<%=session.getAttribute("hello") %>
session.put("codeTextFromSys", checkCode.getCodeText());
String codeTextFromSys = session.get("codeTextFromSys");
2、HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("codeTextFromSys", checkCode.getCodeText());
String codeTextFromSys = (String)session.getAttribute("codeTextFromSys");
3、让Action实现SessionAware接口,并实现public void setSession(Map<String, Object> session) {} 方法,Struts2会在实例化Action后调用该方法,通过方法参数将Session对象注入进来。如果我们想获取Session,我们可以定义成员变量,接收注入进来的Session对象。(推荐)
public class PictureCheckCode extends ActionSupport implements SessionAware {
private Map<String, Object> session;
public Map<String, Object> getSession() {
return session;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
}
三种方式的比较:
返回类型的对比:
1,3获取的Session类型是Map<String,Object>类型,2获取的类型是HttpSession。
获取方式对比:
1,2是我们主动获取Session,3是采用注入的方式自动注入Session,这是被动的。
推荐使用3来创建Session,因为它更为灵活而且符合面向接口编程的思想。
补充:jsp页面获取Session的值
在jsp上内置就有session对象,可以直接用。
例如:<%=session.getAttribute("hello") %>
相关文章推荐
- Struts2获取Session的三种方式
- struts2获取session的三种方式
- Struts2中action获取request、response、session的方式
- struts2获取request,session,application4种方式
- Struts2 在Action中获取request、session、servletContext的三种方法
- Struts2获取Web容器资源的方式 访问request,session
- Struts2中action获取request、response、session的方式
- Struts2获取Request的常用2种方式,Session和Application类似
- Struts2获取Requst和Session的两种方式
- struts2系列十之4中获取使用request,session,application的方法和页面显示的三种方法【后期ognl算第四种】
- Struts2中action获取request、response、session的方式
- Struts2中action获取request、response、session的方式
- Struts2中action获取request、response、session的方式
- struts2使用session 的三种方式
- Struts2中action获取request、response、session的方式
- struts2获取request,session,application4种方式
- 在Struts2 中获取session 的方式
- Struts2中action获取request、response、session的方式
- struts2获取request、session、application的四种方式
- Struts2中action获取request、response、session的方式