Struts 2如何与Spring集成



通常struts2操作实例会在请求时创建。我的意思是每个请求都会创建新的动作实例。但是,如果我与Spring集成,那么将只有一个动作实例将被创建(我不确定正确的我,如果我错了)。

那么在这个例子中如果我在action类中有实例变量会怎样呢?

这里的第一个用户将用一些实例变量设置实例,第二个用户可能会设置一些东西。这个时候它会有什么表现?

进一步说明:实例变量意味着,在Struts 2中,动作表单将不存在,所以,你的动作本身作为一个表单来获取请求参数。第一个用户输入一些东西,第二个用户输入一些东西,两者都设置为一个实例动作

如果您的操作是由Struts容器管理的,那么Struts将在default范围内创建它们。

如果您的操作是由Spring容器管理的,那么您需要定义操作bean的范围,因为Spring默认使用singleton范围。

如果你不想在用户的请求之间共享你的动作bean,你应该定义相应的作用域。

您可以使用prototype作用域,这意味着每次Struts构建一个动作实例时,Spring都会返回一个新的实例。

最新更新