spring管理Struts2的action时应配置scope="prototype"

原创 2016年08月31日 15:08:32

spring 默认情况下scope 是单例模式,即scope="singleton",这样只会创建一个Action对象,即每次访问都是同一个Action对象,数据不安全。而struts2 是要求 每次访问 都要求对应不同的Action, scope="prototype" 就可以保证这个要求, 当有请求的时候 都创建一个Action对象。


<span style="font-weight: normal;"><span style="font-size:14px;"><!-- 配置action -->
<bean id="testAction" class="com.lmk.test.TestAction"  scope="prototype">
	<!-- action注入  <property name="t" ref="t" />-->
</bean></span></span>




再讲得通俗一点就是如果采用单例模式,那么Struts2从前台得到的数据,经过处理结束后,再次进入该页面时,前一次提交的数据还是会被保留下来。
例如:
查询系统中的用户:当用户名a查询第一次请求结束后,再进入查询页面时,系统会保留前一次的查询条件。


当然,也可以设置scope="session",也能避免web中action的并发问题,只为当前用户创建一次bean,直至
session消失。在这种情况下,对当前用户而言,bean是有状态的。好处就是少创建bean的实例,有那么一
点点性能的提升
应用场景:
    1. 多数情况下应使用prototype
    2. 若用户不多,且频繁操作(频繁使用action),硬件一般,可以考虑session,兴许还能提升一点点性能。




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Struts2+hibernate+spring 配置文件中scope="prototype"的作用

spring 默认scope 是单例模式 这样只会创建一个Action对象 每次访问都是同一个Action对象,数据不安全 struts2 是要求 每次次访问 都对应不同的Action scope=...

Struts2+hibernate+spring 配置文件中scope="prototype"的作用 .

项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因...

Struts2+hibernate+spring 配置文件中scope="prototype"的作用

spring 默认scope 是单例模式 这样只会创建一个Action对象 每次访问都是同一个Action对象,数据不安全 struts2 是要求 每次次访问 都对应不同的Action scope=...

Struts2+hibernate+spring 配置文件中scope="prototype"的作用 .

项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因...

Struts2+hibernate+spring 配置文件中scope="prototype"的作用

项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因...

Struts2+Spring+iBatis整合用户管理实例之一:多个Action、service的配置

原帖地址:http://blog.csdn.net/ruantao1989/article/details/8143899 感谢原作者     自己用来练习的入门级的实例,高手可以直接忽略 哈哈。...

配置struts2中的action由spring容器管理

首先要在web.xml文件中添加监听器: org.springframework.web.context.ContextLoaderListener ...

Struts2中Action由自己与由Spring管理的区别

struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建。 这导致在两种情况下struts.xml配置文件的略微差异。 ...

Struts2中Action由自己与由Spring管理的区别

struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建。 这导致在两种情况下s...

Struts2中Action由自己与由Spring管理的区别

转自: http://blog.sina.com.cn/s/blog_794cfc300101655l.html struts2单独使用时action由struts2自己负责创建;与spring集成...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)