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框架(二)Struts2框架之Scope属性

新接到了一个模块,增删改查功能都基本上实现了,但是当我点击修改的时候,返回去再点添加的时候,发现修改的数据回显出现在添加里! 修改的取消,返回到列表页面时,查询条件框中带回值。弄了一上午都没有找出来是...
  • huo_yun
  • huo_yun
  • 2015年09月28日 23:42
  • 2260

Spring配置Scope属性注意点

Spring的配置bean元素时,其scope属性取值有如下几个:  1. singleton:单例模式,即该bean对应的类只有一个实例;在spring 中是scope(作用范围)参数的默认值 ;...
  • jamesge2010
  • jamesge2010
  • 2017年02月24日 14:09
  • 443

Struts2 是如何把Action交给Spring托管的?

首先,来看看如何让Spring 来管理Action. 1.在struts.xml中加入   有两种整合方式:      (1) 将Struts的业务逻辑控制器类配置在Spring的配置文...
  • csummm4
  • csummm4
  • 2014年03月19日 00:53
  • 1053

Spring中原型prototype的准确使用

Spring中原型prototype的准确使用实际问题项目中,报表导出涉及到了在同一个类的两个不同方法中,都有相同的查询数据库的操作,一个方法是用于获取内容,一个是用于获取条数的,大概类似于这样:@S...
  • unifirst
  • unifirst
  • 2016年01月08日 17:04
  • 10983

将struts2的action交给spring管理及注意事项

将struts2中的action交给spring管理 1.xml方式 applicationContext.xml  
  • wkkyo
  • wkkyo
  • 2016年03月02日 22:59
  • 1422

spring配置文件中配置Action中的scope

【英文示意】 scope单词的意思为(处理、研究事务的)范围;眼界,见识;(活动或能力的)余地;广袤,地域,在计算机世界中也就是界或域的意思。 prototype单词的意识为原型,雏形,蓝本 sing...
  • u012581322
  • u012581322
  • 2016年11月13日 21:52
  • 573

spring中的scope详解

0.思维导图 1. scope概论 spring中scope是一个非常关键的概念,简单说就是对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式。 2...
  • weinabanta
  • weinabanta
  • 2014年10月16日 22:40
  • 24475

action的scope的用法 详解

这个bean其实是struts的action,被spring代理整合配置,对于scope的代表存储的actionform的值得存储范围,有request和session的等范围。scope="prot...
  • lhf2009913
  • lhf2009913
  • 2014年02月21日 08:58
  • 1058

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

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

菜鸟学习Struts——Scope属性

一、概念。     在Action映射配置中,Scope属性可以取值为:request或session。Scope属性表示:Struts框架在将     ActionForm对象(与目标Action...
  • gwblue
  • gwblue
  • 2014年03月11日 21:13
  • 4862
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring管理Struts2的action时应配置scope="prototype"
举报原因:
原因补充:

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