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

希望多多交流,多多关注,共同成就梦想

Struts2中使用Session的两种方法相关推荐

  1. html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)

    是解决相对路径的问题,可返回站点的根路径. //这样获得的是绝对路径 //这样获得的是相对路径 能够更有效的防治连接的失效. request.getContextPath()得到的是项目的名字,如果项 ...

  2. python自带的shell是什么-python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  3. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  4. DLL中资源切换的两种方法

    DLL中资源切换的两种方法 方法1 AFX_MANAGE_STATE(AfxGetAppModuleState());                // MFC扩展dll 或 AFX_MANAGE_ ...

  5. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  6. 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍

    大家知道怎么在华为nova3i中连接电脑吗?不知道没有关系,小编今天介绍在华为nova3i中连接电脑的两种方法,希望可以帮助到你哦. 在华为nova3i中连接电脑的两种方法介绍 方法一: 1.下载并且 ...

  7. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

  8. 站长在线Python精讲:在Python中格式化字符串的两种方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...

  9. ubuntu 开启ipv6_Ubuntu系统中禁用IPv6的两种方法介绍

    Ubuntu系统如何禁用ipv6呢?ipv6的普及将会需要很长一段时间,接下来的文章中小编将会介绍在Ubuntu系统中禁用ipv6的方法,有需要的朋友不要错过哦! Pv6 介绍 Pv6 旨在提高安全性 ...

最新文章

  1. webpack打开项目命令_webpack前端模块打包工具基本使用的详细记录(一)
  2. 自定义checkbox,redio等
  3. CentOS查看已挂载的文件系统和文件系统信息
  4. 局域网有几台电脑频繁断网_如何实现几台电脑同步共享资料文件?——用JASTVIN私密云盘...
  5. 设计模式C++实现(15)——观察者模式
  6. python小程序:备份文件
  7. 安装Typora情况下,Windows右键新建菜单中增加新建md文件
  8. 使用动画播放文件夹中的图片
  9. 从send函数和sendto函数参数的不同看TCP和UDP的差别
  10. Taro+react开发(18)--定义变量值
  11. 增值电信业务许可,经营性icp证书自助申请教程【详细】
  12. 金字塔c_C/C++编程笔记:C语言入门题之正倒金字塔,正反三角形代码详解
  13. android 不同机型 bug,[Android] Opengl ES 机型适配 bug 汇总
  14. mybatis源码解析
  15. c语言php环境搭建,c语言从入门到放弃 php从入门到放弃系列-01php环境的搭建
  16. ArcFace论文翻译
  17. Spark大数据计算引擎介绍
  18. 解决Word文档被锁,无法复制的问题
  19. 2022-2028年中国旅游演艺行业市场现状分析及发展前景展望报告
  20. Floyd是咋求图的最短路径?

热门文章

  1. 【Android FFMPEG 开发】Android Studio 中 配置 FFMPEG 库最小兼容版本 ( undefined reference to 'atof' )
  2. CPU芯片哪家强?电视处理器这么选就对了!
  3. 记一次Oracle数据故障排除过程
  4. 二叉树的几种递归和非递归式遍历:
  5. WebSphere MQ 自动启动发送方通道
  6. 提交请求输出XML文件的时候出错.解决方法
  7. 汇编语言随笔(13)- 外中断(可屏蔽中断)、实验15
  8. 基于JSP的开题报告定做
  9. vue-cli watch/timer
  10. K:hash(哈希)碰撞攻击