struts2中action是多例的,即一个session产生一个action。struts 2的Action是多实例的并发单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了。所以Struts2的Action是多例模式的。
spring和Struts整合,spirng创建action实例默认是单例的,但是Action必须是多例,否则会出现脏数据。可以设置bean属性scope=prototype