博客
关于我
Struts2中使用Session的两种方法
阅读量:795 次
发布时间:2023-02-26

本文共 1215 字,大约阅读时间需要 4 分钟。

在Struts2中,Action类可以通过两种方式获取和操作Session:

  • 通过ActionContext类获取Session

    ActionContext类提供了与Session交互的方法。可以通过ActionContext.getContext()获取当前的ActionContext对象,然后调用getSession()方法获取SessionMap对象。通过SessionMap可以对Session进行增删改查操作。

  • 实现SessionAware接口

    Action类可以直接实现org.apache.struts2.interceptor.SessionAware接口。通过这种方式,Action类会自动注册到SessionAware的处理器中。即使在单体测试环境下,也可以通过注入SessionMap进行Session操作。

  • 示例1:通过ActionContext获取Session

    public class SessionTestAction extends ActionSupport {
    public String execute() {
    ActionContext actionContext = ActionContext.getContext();
    Map session = actionContext.getSession();
    session.put("user", "Test User");
    return SUCCESS;
    }
    }

    示例2:实现SessionAware接口

    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;
    }
    }

    通过上述两种方式,都可以实现对Session的读写操作。推荐使用第二种方式,因为它更便于单体测试,只需传递一个Map参数即可。

    注销Session的方法

    public String logout() throws Exception {
    ((org.apache.struts2.dispatcher.SessionMap
    ) this.session).invalidate();
    return SUCCESS;
    }

    转载地址:http://rgpfk.baihongyu.com/

    你可能感兴趣的文章
    oracle数据库 添加定时器
    查看>>
    Oracle数据库入门——初级系列教程
    查看>>
    oracle数据库包package小例子
    查看>>
    UBUNTU 添加删除用户
    查看>>
    Oracle数据库备份与还原
    查看>>
    Ubuntu Seata开机自启动服务
    查看>>
    uart 驱动架构
    查看>>
    Oracle数据库学习(三)
    查看>>
    Oracle数据库安装成功后,忘记解锁账户和设置密码
    查看>>
    TypeError: create_purple() 接受 0 个位置参数,但给出了 2 个
    查看>>
    Oracle数据库异常--- oracle_10g_登录em后,提示java.lang.Exception_Exception_in_sending_Request__null或Connection
    查看>>
    Oracle数据库异常---OracleDBConsoleorcl无法启动
    查看>>
    oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
    查看>>
    Oracle数据库性能调优
    查看>>
    oracle数据库核心笔记
    查看>>
    oracle数据库笔记---oracleweb视图使用流程,及plsql安装
    查看>>
    oracle数据库笔记---pl/sql的基础使用方法
    查看>>
    Transformer 架构解释
    查看>>
    Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码
    查看>>
    oracle数据库零碎---Oracle Merge 使用,表中存在数据就修改,没有数据自动添加
    查看>>