`
zhou568xiao
  • 浏览: 96823 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多
下面是struts2+hibernate+spring配置文件的一部分,以前都是仿造已经写好的bean的配置。有一次 scope="prototype"忘记写了结果出了问题
项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因为在配置spring的bean是忘了写scope="prototype"所以每次添加时都显示最后一次访问过的记录
找了很长时间,原来是spring bean出了问题。 scope="prototype" 会在该类型的对象被请求时创建一个新的action对象。如果没有配置scope=prototype则添加的时候不会新建一个action,他任然会保留上次访问的过记录的信息。
<bean id="assetAction" class="com.servicezone.itsd.asset.webapp.action.AssetAction" scope="prototype">
<property name="assetManager" ref="assetManager"/>
<property name="itProductManager" ref="itProductManager"/>
<property name="vendorManager" ref="vendorManager"/>
<property name="deptManager" ref="deptManager"/>
<property name="userManager" ref="userManager"/>
<property name="assetTypeManager" ref="assetTypeManager"/>
    </bean>[/size][/size][/size][size=medium][/size]
分享到:
评论
5 楼 rskyz520 2010-08-11  
定。我也是这个问题。。支持。。
4 楼 javaheqiang 2009-05-12  
我也是啊。整了半天  就是这个配置问题。
  scope="prototype"表示新建一个Action。
3 楼 kane82 2009-04-08  
2 楼 taeki 2009-01-21  
我就是犯了这个不易察觉的错误,导致浪费了很多时间,最后用了一个很笨很不好的方法解决了,就是在方法后面把上次的东西弄为null。
后来才发现这是由于没有设scope="prototype"引起的。
1 楼 aixia20082003 2008-12-19  

相关推荐

    struts2+hibernate+spring整合

    4. 在Spring配置文件中定义Action类Bean,并设置为原型(prototype)作用域。 5. 配置Hibernate的SessionFactory和DataSource。 在实际开发中,我们通常按照数据库层(POJO和Hibernate映射)、数据访问层(DAO)、...

    SSH整合 struts+hibernate+spring

    - **Spring配置文件**:在Spring配置文件中定义Bean及其依赖关系,当需要更换实现类时,只需修改配置文件即可,无需修改代码。 - **IoC整合的注意事项**: - 使用接口而非实现类进行依赖。 - 推荐使用Spring...

    maven3+struts2+spring+ibatis

    maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...

    基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发

    在基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发中,开发者可以利用注解(Annotation)来简化配置,提高开发效率。这个开发模式结合了三个主流的Java EE框架:Struts2作为MVC框架处理前端请求,...

    struts2+spring+hibernate整合中spring注入出错。页面中报空指针异常。高手来看看怎么决绝。

    5. **Spring插件**:在Struts2中使用Spring插件(`struts2-spring-plugin.jar`),确保插件已添加到项目类路径中,并在Struts配置文件中启用插件。 6. **初始化顺序**:有时候,初始化顺序也可能导致问题。例如,...

    Struts2+Spring3+Hibernate3整合文档

    由于Struts2中的Action对象是针对每个请求生成一个新的实例,而Spring默认使用`singleton`作用域来管理Bean。为了与Struts2保持一致,需要将Action的Scope设置为`prototype`或`session`。 - **`prototype`**:为每...

    struts2+spring3+hibernate3整合源码包

    Struts2、Spring3和Hibernate3是Java Web开发中的三个重要框架,它们分别负责MVC模式中的动作控制、依赖注入和持久化管理。这三者的整合可以构建出高效、松耦合的应用系统。下面将详细讲解这三个框架的核心概念以及...

    maven3.0+struts+spring+hibernate

    这个属于与Spring整合的问题,Spring容器在初始化对象的时候会根据bean的scope配置来考虑是重新建立一个对象,还是继续使用原来的对象,拿struts2的action的bean来说,如果scope这个参数没有配置,默认就是单例,即...

    struts2.2.3+spring3.1.0+hibernate4.0整合

    整合Struts2和Spring,首先需要在Struts2的配置文件`struts.xml`中添加Spring插件,这样Struts2可以通过Spring来管理Action类。接着,将Action类声明为Spring的bean,并在Spring的配置文件`applicationContext.xml`...

    struts2+hirbate+spring面试题

    确保Action线程安全的方法包括:声明局部变量、扩展RequestProcessor以每次创建新的Action实例,或者在Spring中使用`scope="prototype"`配置来管理Action。 2. **Struts2的MVC实现** 在Struts2中: - **Model**:...

    Spring+Hibernate+Struts2整合文档

    在`struts.xml`中,通过`objectFactory`属性设置为`springs`,使Struts2能与Spring的IOC容器集成,这意味着Struts2的Action类将由Spring容器创建和管理,具体配置如下: ```xml &lt;constant name="struts....

    Spring+Struts+Hibernate开发手册.doc

    Spring+Struts+Hibernate开发手册 本文将介绍SSH框架的开发手册,主要包括Spring、Struts和Hibernate三大模块的知识点。 一、目录结构 在SSH框架中,项目的目录结构主要包括以下几个部分: * doc目录:存放项目...

    struts+spring+hibernate面试题.doc

    - **Spring的Scope="Prototype"管理**:利用Spring的bean管理功能,将Action的scope设置为"prototype",确保每次请求都会创建一个新的Action实例。 ### 2. Struts的MVC实现 Struts框架遵循经典的Model-View-...

    struts2+spring整合

    - 在Spring配置文件中定义Action类及其依赖,Action类通常配置为`scope="prototype"`,以确保每次请求都能获得一个新的实例。 - 在Struts2的配置文件(通常是struts.xml)中,指定`&lt;action&gt;`元素的`class`属性为...

    struts1.3+hibernate3.3+JPA集成

    为了确保Action的线程安全性,我们可以在Spring配置中将其作用域设置为`prototype`,这样每次请求都会创建一个新的实例: ```xml &lt;bean id="savePersonAction" class=...

    struts+hibernate,spring面试题

    为了确保线程安全,可以避免使用类变量,或者在Spring中将Action配置为原型(`scope="prototype"`),这样每次请求都会创建一个新的Action实例。 2. **Struts实现MVC**: 在Struts框架中,Model由JavaBean或EJB...

    Spring+Hibernate+Struts

    "spring_scope"可能涵盖了Spring的Bean作用域,如Singleton、Prototype、Request、Session等,以及它们在不同场景下的应用。 Hibernate是一个对象关系映射(ORM)框架,简化了数据库操作。"spring_hibernate_1"和...

    收集的struts+spring+hibernate面试题.doc

    ### Struts + Spring + Hibernate 面试题解析 #### 1. AOP 和 IOC 的概念以及在 Spring 中的应用 **AOP(Aspect Oriented Programming,面向切面编程)**: 是一种编程思想,它允许程序员定义“切面”来封装那些...

    收集的struts+spring+hibernate面试题借鉴.pdf

    确保Action线程安全的方式包括使用局部变量、每次请求时创建新的Action实例(例如通过Spring的`scope="prototype"`配置),或者扩展`RequestProcessor`以实现线程局部存储。 4. MVC模式在Struts中实现如下:Model由...

    图解SSH(struts2,spring,hibernate)框架配置步骤

    SSH 框架,全称为 Struts2、Spring 和 Hibernate 的组合,是Java Web开发中常用的三大框架。它们各自负责应用程序的不同层面:Struts2 负责表现层,Spring 提供业务逻辑支持和依赖注入,Hibernate 处理持久化层。在...

Global site tag (gtag.js) - Google Analytics