strust2中的action是多例还是单例???
来源:互联网 发布:手机上淘宝积分怎么查 编辑:程序博客网 时间:2024/05/18 03:30
struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的属性不一样,操作得出的结果不一样.举个例子:有一块布长度300cm,能做一件上衣(用掉100cm)和一件裤子(用掉200cm);甲和乙同时访问得到的长度都是300cm,甲想做上衣和裤子,他先截取100cm去做上衣,等上衣做完再去做裤子,而乙这时正好也拿100cm去做上衣,那好,等甲做完上衣再做裤子的时候发现剩下的布(100cm)已经不够做裤子了.....这就是影响系统的性能,解决的办法就是给甲和乙一人一块300cm的布,就不会出现布被别人偷用的事情,也是就单实例和多实例的区别如果设置成单例,那么多个线程会共享一个ActionContext和ValueStack,这样并发访问的时候就会出现问题了struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了。所以Struts2的Action是多例模式的。
而struts 1的Action是单实例的,因为它的数据保存在Form类中,多线程环境下,Action只负责处理一些逻辑,并没有数据,也就是大家把它当做一个工具使用。同样servlet也是单实例的
0 0
- strust2中的action是多例还是单例???
- struts中的action是多例还是单例?
- Struts中的Action是单例还是多例
- strust2 action跳转问题
- 【strust2】Action的配置
- strust2 Action scope属性 配置
- Strust2中的AJAX
- 单例 还是 静态
- strust2 action之间的传值
- 页面传输Json对象至Action(Strust2)
- strust2配置action的完整过程
- Strust2学习之Action、Result知识要点
- SSH2 Action单例问题
- Strust2
- strust2
- Strust2
- Struts中的action传递参数到下个action,jsp时是使用get方法还是set方法
- action 参数缓存——action 单例
- UIGraphicsSetPDFContextURLForRect 无效
- 黑马程序员-我的第十九篇学习日记:Foundation中的字典
- OpenCV2.2在VC++2010下的安装
- Android学习笔记(六)——从Activity返回数据
- 初识云计算day024
- strust2中的action是多例还是单例???
- 神经元网络
- 使用CKRule规则引擎处理多变业务
- java关于集合的遍历与增强for循环的使用
- ld: symbol(s) not found for architecture arm64
- Java 用飞信发短信,获取手机号码归属地,查询城市天气预报
- VMware三种网络模式根本区别 bridged nat host-only
- Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
- winxp宣告死亡,中国几亿电脑苦撑到何时,是否迎来xp灾难