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;
    }
  • 相关阅读:
    题解-Quantifier Question
    题解-[WC2011]最大XOR和路径
    笔记-Recursive Queries
    树套树
    SG函数
    题解-Magic Ship
    分块
    文章根据时间段显示的微信名和微信号
    jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作) 经典
    nginx配置反向代理
  • 原文地址:https://www.cnblogs.com/jokerjason/p/5740892.html
Copyright © 2011-2022 走看看