struts2单例和多例
来源:互联网 发布:万网域名管理地址 编辑:程序博客网 时间:2024/05/21 17:02
struts2 中action 是多例,即一个session产生一个action。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了。
而struts 1的Action是单实例的,因为它的数据保存在Form类中,多线程环境下,Action只负责处理一些逻辑,并没有数据,也就是大家把它当做一个工具使用。同样servlet也是单实例的。
问题出现了,可以让struts2的action变成单例模式么?我在使用spring来生成action的时候,发现生成的action居然全是单例的。这不是让我的程序默认就跑出bug来么?上个用户提交的信息,如果下个用户没填,居然跑到上个用户输入的信息去了。
背景 :
1) Struts2 会对每一个请求,产生一个Action的实例来处理.
2) Spring的Ioc容器管理的bean默认是单实例的.
首先从数据安全性的问题上考虑,我们的Action应该保证是多例的,这样才不会出现数据问题。但是如果有的action比如只有admin才能操作,或者某些action,全站公用一个来提高性能,这样的话,就可以使用单例模式。
不过幸好,Spring的bean可以针对每一个设置它的scope,所以,上面的问题就不是问题了。如果用单例,就在spring的action bean配置的时候设置scope="prototype".
0 0
- Struts2单例和多例
- struts2单例和多例
- struts2和mybatis的多例和单例
- struts2中Action单例和多例
- Struts2多例和Servlet单例理解
- Struts2和Spring整合, Action单例和多例的问题
- struts2配置单例模式
- struts2单例or多例?
- 关于struts2 的单例和多例及线程安全的问题
- 关于struts2 的单例和多例及线程安全的问题
- Struts2 action的单例与多例
- Struts2 action的单例与多例
- struts1单例线程不安全struts2多例线程安全
- Struts2 action的单例与多例
- Struts2 action的单例与多例
- Struts2中Action的单例与多例
- Struts2 action的单例与多例
- struts2单文件和多文件的上传和下载
- mfc+sql server 2005
- CMS_WEB应用TUSCANY说明
- 几乎可以匹配任何网址
- 黑马程序员——csdn上发表带代码的博客
- Java面向对象——IO流其他对象
- struts2单例和多例
- 全局变量和局部变量重复之this.name.toString());Exception in thread "main" java.lang.NullPointerException
- Android学习笔记TableLayout布局
- Android、IOS 获取剪切板内容
- Android开源项目发现--- 工具类向下兼容篇(持续更新)
- [图]实习月薪超过$7000 Glassdoor发布最新实习生工资报告
- 阳光温暖所有
- 新的开始,3月1日
- 排序算法