struts2 action 配置scope="prototype"问题

Posted 尐鱼儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2 action 配置scope="prototype"问题相关的知识,希望对你有一定的参考价值。

最近在修改同事代码时,经常遇到莫名的问题,比如查询结果集中出现上一次请求中的脏数据,我就排查啊,总觉得是代码哪个地方写的不严谨,后来想到了,可能是action对象成单例造成的。看了下spring配置文件,果然,全部没有加 scope="prototype"。加上后,问题顺利解决。

 

ps:不写scope="prototype",默认就是单例,必然会造成脏读取数据,因为不同的线程抢相同的ACTION实例;

 prototype的话, 就是多例, spring会为每一个请求 实例化一个新的action对象;这样 每一个请求都用的是自己的action实例, 就没有共享的问题了

scope="prototype"切记啊。

以上是关于struts2 action 配置scope="prototype"问题的主要内容,如果未能解决你的问题,请参考以下文章

spring中bean的scope属性理解

Spring的scope="prototype"属性

解决ssh中使用struts2验证框架提示错误后正确无法提交的问题

Struts2Struts2与Spring整合后,如何指定Action为多例模式

Spring的scope="prototype"属性

struts2中使用注解配置Action