为了账号安全,请及时绑定邮箱和手机立即绑定

关于Action传参问题

如果使用 private String username 这种方式传参数

我的理解是: 多个用户访问时共用一个 Action  ,  此时会不会对 username这个变量产生 多线程的竞态呢?

正在回答

1 回答

 Struts 2 的 Action 对象为每一个请求产生一个实例,因此,虽然在Action中定义了很多全局变量,也不存在线程安全问题。Struts 2框架在处理每一个用户请求的时候,都建立一个单独的线程进行处理,值栈ValueStack也是伴随着局部线程而存在的。在该线程存在过程中,可以随意访问值栈,这就保证了值栈的安全性。在Struts 2中,ActionContext是一个局部线程,这就意味着每个线程中的ActionContext内容都是唯一的。所以开发者不用担心Action的线程安全。

0 回复 有任何疑惑可以回复我~
#1

藏红 提问者

原来如此! 谢谢,那么相对应的 spring-mvc controller类中的全局变量也是一样,服务器为每一个请求产生一个实例?
2015-08-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Struts2入门
  • 参与学习       95068    人
  • 解答问题       456    个

本教程带你踏上Struts2学习之旅,对Struts2进行更深入讲解

进入课程

关于Action传参问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信