昨天继续在新搭建的架子上做东西,出现了一个问题。
参数如果没被重置,那么就会被一直保存着。
很不理解,怎么会出现这种问题呢。
难道struct2的参数被存到session里了,不可能啊,struct2不至于会有这种问题吧。
仔细检查了几遍代码,都没发现问题。
谷歌了下,才知道不是struct2的问题,是spring的问题。
由于bean都是由spring统一管理的,spring2.5竟然默认bean为单态模式(singleton="true")
只要bean里的数据没被修改,就会一直保存着。
解决方法:
在定义bean的时候,加上以下任意一种,取消单态模式
1.singleton="false"
2.prototype="true"
一般来讲,除了datasource之类的设置为单态,其它的都需要取消单态
参数如果没被重置,那么就会被一直保存着。
很不理解,怎么会出现这种问题呢。
难道struct2的参数被存到session里了,不可能啊,struct2不至于会有这种问题吧。
仔细检查了几遍代码,都没发现问题。
谷歌了下,才知道不是struct2的问题,是spring的问题。
由于bean都是由spring统一管理的,spring2.5竟然默认bean为单态模式(singleton="true")
只要bean里的数据没被修改,就会一直保存着。
解决方法:
在定义bean的时候,加上以下任意一种,取消单态模式
1.singleton="false"
2.prototype="true"
一般来讲,除了datasource之类的设置为单态,其它的都需要取消单态