zoukankan      html  css  js  c++  java
  • Struts2中使用Session的两种方法

    在Struts2里,如果需要在Action中使用到session,可以使用下面两种方式:
    1. 通过ActionContext 类中的方法getSession得到
    2. Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作
     
    下面先看一个采用第一种方式,在action中得到session的例子
    public class SessionTestAction extends ActionSupport {
        public String execute() {
           ActionContext actionContext = ActionContext.getContext();
           Map session = actionContext.getSession();
           session.put("user", "Test User");
           return SUCCESS;
        }
    }
    在这个例子中,通过ActionContext得到session,并往session里放置一个key为user,值为Test User的内容。
     
    下面是一个实现org.apache.struts2.interceptor.SessionAware接口来对session操作的例子
    public class SessionTest1Action extends ActionSupport implements SessionAware {
        private Map session;
        public void setSession(Map session) {
           this.session = session;
        }
        public String execute() {
           this.session.put("user", "Test User 1");
           return SUCCESS;
        }
    }
    在这个例子中实现了接口SessionAware中的setSession方法。
     
    上面两种方式都可以得到session,能实现的功能都一样。推荐通过第二种方式来使用session,便于单体测试,用第二种方式,只需要构造一个Map就可以对action进行单体测试了。
     
    注销session的方法:
    // 注销
    public String logout() throws Exception {
      ((org.apache.struts2.dispatcher.SessionMap<String, Object>) this.session).invalidate();
      return SUCCESS;
    }
  • 相关阅读:
    病毒
    最短母串
    单词
    Censoring
    玄武密码
    Keywords Search
    聚会
    异象石
    暗的连锁
    pat 1048. Find Coins (25)
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537476.html
Copyright © 2011-2022 走看看