truts+spring action应配置为scope="prototype"

<bean id="personAction" scope="prototype" class="quickstart.action.PersonAction"><constructor-arg ref="personService" /></bean>

在配置文件中,bean默认是单例模式,应用服务器启动后就会立即创建bean,以后就可以重复使用。
这带来一个问题,bean的全局变量被赋值以后,在下一次使用时会把值带过去。也就是说,bean是有状态的。
在web状态下,请求是多线程的,全局变量可能会被不同的线程修改,尤其在并发时会带来意想不到的bug。
而在开发时,访问量很小,不存在并发、多线程的问题,程序员极有可能会忽视这个问题。
所以在配置action bean时,应使用scope="prototype",为每一次request创建一个新的action实例。这符合struts2的要求,struts2为每一个request创建一个新的action实例。当request结束,bean就会被jvm销毁,作为垃圾收回。
当然,也可以设置scope="session",也能避免web中action的并发问题,只为当前用户创建一次bean,直至session消失。在这种情况下,对当前用户而言,bean是有状态的。好处就是少创建bean的实例,有那么一点点性能的提升
应用场景:    1. 多数情况下应使用prototype    2. 若用户不多,且频繁操作(频繁使用action),硬件一般,可以考虑session,兴许还能提升一点点性能。

struts+spring action应配置为scope=prototype相关推荐

  1. ssh(Struts+spring+Hibernate)三大框架整合-简述

    ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...

  2. spring学习之将类交给spring管理,bean的注入,scope,集合注入,自动装配,生命周期,迟加载

    一.将类交给spring管理(IOC) 1.将类交给spring容器管理 如何将一个类交给spring容器进行管理呢? 方法很简单,只需要在applicationContext.xml中加入对应的xm ...

  3. @Scope(prototype)

    当我们在一个ACTION类里面写很多个方法的时候(其实是一种按功能划分模块编程的思想),每个方法的返回状态可能不一样,如果ACTION中不写@Scope("prototype"), ...

  4. spring scope=prototype 学习笔记

    <bean id="meetAction" class="com.web.actions.MeetsAction" scope="prototy ...

  5. spring bean中scope=prototype“的作用

    今天写代码时,遇到个问题,问题大概如下:在写一个新增模块,当各文本框等输入值后,提交存入数据库,跳到其它页面,当再次进入该新增页面时,上次输入的数据还存在. 经过检查发现是,spring配置文件中,配 ...

  6. 页面每次添加都显示最后一次访问记录spring scope=prototype 学习笔记

    <bean id="meetAction" class="com.web.actions.MeetsAction"  scope="protot ...

  7. struts+spring的配置方式总结

    现在最流行的j2ee的程序,一般都是用struts+spring+hibernate框架做的,spring+hibernate的配置方式很简单,这里就不说了,下面对struts+spring的几种配置 ...

  8. Spring中的scope配置和@scope注解

    Scope,也称作用域,在 Spring IoC 容器是指其创建的 Bean 对象相对于其他 Bean 对象的请求可见范围.在 Spring IoC 容器中具有以下几种作用域:基本作用域(single ...

  9. Struts2的配置 struts.xml Action详解

    在学习struts的时候,我们一定要掌握struts2的工作原理.只有当我们明确了在struts2框架的内部架构的实现过程,在配置整个struts 的框架时,可以很好的进行逻辑上的配置.接下来我就先简 ...

  10. JSF Struts Spring Hibernate 整合

    JSF1.1+Struts2.1+Spring2.0+Hibernate3.1 图示: JSF1.1 Jar包: MyFaces1.1 Jar包:  Struts2.1 Jar包:  Spring2. ...

最新文章

  1. 频谱中负频率的物理意义(二)
  2. 国外开源网站网页翻译
  3. 技术向:一文读懂卷积神经网络
  4. 【干货】你不知道的 Linux 命令使用技巧
  5. weblogic内存溢出linux,解决weblogic内存溢出有关问题
  6. 从服务器请求文件流工具类,SpringBoot我想获取图片流,然后将图片流的数据传到服务器上...
  7. 洛谷 P2495 [SDOI2011]消耗战
  8. oracle18cscott,Oracle 18c 数据库中scott用户不存在的解决方法
  9. 计算机二级office应用与设计,全国计算机等级考试二级教程——MS Office高级应用与设计(2021年版)...
  10. java框架-Springmvc-quzrtz-jasperreport-pio-pdfbox-jedis
  11. linux 浮点测试,浮点运算性能测试
  12. JDBC驱动与MySQL版本不兼容的问题
  13. 怎么判断两个多项式互素_多项式互素性质的补充讨论
  14. 基于ICP算法计算点集之间的变换矩阵(旋转、平移)
  15. 统计年鉴 excel
  16. 美团--测试创建团购订单
  17. png照片太大怎么压缩?三步轻松搞定
  18. python写小说阅读器_用python给自己DIY一款小说阅读器,如此看来,很简单!
  19. Linux C语言自己动手写日志生成函数
  20. 专题导读:新工科背景下的大数据人才培养及课程体系设计

热门文章

  1. Packet Voice Modeling 语音包模型
  2. JavaWeb程序的目录结构(2)
  3. 如何监测系统用户是否登录_网站建设教程:PageAdmin Cms如何获取用户登录状态...
  4. Spring Cloud随记----远程配置文件资源库的建立-涉及一些简单的git操作
  5. NP、P、NPC、NP-hard 概念辨析
  6. 【数学题】Multicolored Markers【codeforces-Round #506-div3-F】
  7. t14m4t:一款功能强大的自动化暴力破解工具
  8. kb2919355无法安装
  9. 完整详尽的解决MySql:Could not create connection to database server
  10. 手机辅助java脚本_android 手机一个辅助阅读工具