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;
    }
  • 相关阅读:
    关于JDK中自带的类加载器
    关于Spring框架
    关于Java JUC
    数据库-数据添加与删除-视图-索引-存储过程
    数据库-查询练习
    数据库-数据类型-数据库创建表的 约束以及 DDL操作
    数据库-多表连接查询
    数据库笔记整理-数据库概述-三大范式及数据库基本命令
    JAVA笔记整理-JAVA网络编程-TCP/UDP传输
    JAVA笔记整理-线程二
  • 原文地址:https://www.cnblogs.com/shenliang123/p/2229152.html
Copyright © 2011-2022 走看看