星空网 > 软件开发 > Java

sturts2 action多例与单例

struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就 会相互影响,例如造成别人填写的数据被你看到了。所以Struts2的Action是多例模式的。

     问题出现了,可以让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".好吧,问题到此结束。




原标题:sturts2 action多例与单例

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

海豚日本仓:https://www.ikjzd.com/w/1952
二手奢侈品:https://www.ikjzd.com/w/1953
速猫ERP:https://www.ikjzd.com/w/1954
骏德集团:https://www.ikjzd.com/w/1957
姚长杰:https://www.ikjzd.com/w/1958
M.Gemi:https://www.ikjzd.com/w/1959
请问西安及周边5日游怎么安排?:https://www.vstour.cn/a/364173.html
图策全国免景点门票 预订景区门票优惠:https://www.vstour.cn/a/364174.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流