`
blueyanghualong
  • 浏览: 225256 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于struts1和struts2及webork的单例和多实例

 
阅读更多

 

 老是看到不会的问题就像转过来,记录下来,以后好看,一定要看~ 
struts1中对action实例采取的单例模式,所有的请求都有一个实例来响应,由此引发在多线程环境下线程安全问题。而这个线程安全问题仅仅是针对实例变量来说的,在执行execute时所有线程共享一个实例变量,因此需要用同步来解决线程安全问题,由此可能引起线程等待进而性能下降的问题。对局部变量来说不存在这个问题,因为在每个线程的堆栈上都会拥有各自的局部变量。 
struts2和webwork采取的多实例模式,自然能解决线程安全问题,但也是建立在牺牲内存的资源基础上。相对struts1来说,解决内存资源不足应该还是比较好办的。而对于性能的影响我觉得需要建立在大量的访问基础上才能验证那种方式更好,既然struts2和webwork是改进struts1的,我想性能方面肯定会占优势。
分享到:
评论

相关推荐

    struts1和struts2的区别

    通过上述对比可以看出,Struts2相比Struts1在很多方面进行了改进和优化,尤其是在灵活性、可测试性以及对现代Web开发的支持上有着显著的优势。尽管如此,在某些特定的应用场景下,Struts1可能仍然有其适用之处。选择...

    Struts1和Struts2的区别和对比

    线程模型方面,Struts1的Action是单例模式,意味着所有请求共享同一个Action实例,因此开发者需要确保Action和其资源是线程安全的。相比之下,Struts2为每个请求创建新的Action实例,消除了线程安全问题,也简化了...

    struts1和struts2区别

    Struts1和Struts2是两个非常著名的Java Web框架,它们在处理MVC(Model-View-Controller)架构方面有着显著的区别。以下是关于这两个框架在关键特性上的对比: 1. **Action类**: - **Struts1**:要求Action类继承...

    struts1和struts2项目实例

    通过分析和运行这些项目实例,可以深入理解Struts1和Struts2之间的差异,以及如何将它们与Spring和Hibernate集成,从而提高自己的技能水平。不过,随着技术的发展,现在的趋势是转向更现代的框架,如Spring Boot,它...

    struts1和struts2的区别(详细)

    - **Struts1**: 在Struts1框架中,Action是基于单例模式的,这意味着所有的请求都会共享同一个Action实例。这就导致了如果在Action中保存实例变量,则可能会出现线程安全问题。此外,Struts1中的Action类必须实现`...

    struts2实例struts2实例

    struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例struts2实例

    struts2经典实例

    在本实例集中,我们将深入探讨几个经典的Struts2应用示例,这些示例对于初学者和进阶开发者来说都是极具价值的学习资源。 1. **Struts2 Showcase** `struts2-showcase-2.0.1.war` 是一个全面的演示应用,展示了...

    STRUTS实例STRUTS实例

    STRUTS实例STRUTS实例STRUTS实例STRUTS实例

    Struts2与Struts1区别

    Struts2 和 Struts1 是两个著名的 Java Web 开发框架,它们都出自 Apache Software Foundation,但有着显著的区别。Struts1 是早期的 MVC 框架,而 Struts2 则是在 WebWork 框架的基础上发展起来的,它吸收了 Struts...

    struts2实例项目

    struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例

    struts实例struts实例

    struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例struts实例

    struts1和Hibernate实例

    Struts1和Hibernate是两种非常重要的Java开发框架,它们在企业级应用开发中扮演着核心角色。Struts1主要用于控制应用程序的流程,而Hibernate则是一个强大的对象关系映射(ORM)框架,它简化了数据库操作。 **...

    Struts2和Struts1的区别,详细点,主要说说Struts2

    - **Struts1**中的Action对象在整个请求周期内是单例模式的,这意味着所有请求都会共用同一个Action实例,这可能会导致线程安全问题。 - 相比之下,**Struts2**为每个请求创建一个新的Action实例,这不仅提高了安全...

    struts2项目实例

    总的来说,"Struts2项目实例"涵盖了Java web开发中的关键环节,从Action设计、数据库操作、视图展现到框架配置,为我们提供了一个学习和实践Struts2的好起点。通过分析和理解这个实例,开发者可以更好地掌握Struts2...

    转:struts1与struts2的区别

    ### Struts1与Struts2的主要区别 #### 1. Action类的设计差异 - **Struts1**: 在Struts1框架中,Action类必须继承自一个抽象类`org.apache.struts.action.Action`。这种方式可能导致的问题是代码灵活性较低,尤其...

    struts2 项目实例

    这个项目实例——"Struts2App",旨在为初学者提供一个基础的Struts2应用演示,帮助他们理解和掌握Struts2的核心概念。 在Struts2框架中,我们首先需要了解的是Action类,它是业务逻辑处理的主要组件。Action类通常...

    程序员必看的书籍Struts1和Struts2的区别

    - **请求处理**:Struts1中,每个Action实例是单例的,这意味着多个用户可能共享同一个Action实例,这在并发环境下可能会引发问题。 - **验证机制**:Struts1提供了内置的验证框架,但其使用相对复杂,且定制性较差...

    Struts1 程实例教

    透彻分析了Struts1的原理 外加实例配带 经典之作适合入门者和想详细了解Struts1的人 Struts1 程实例教 透彻分析了Struts1的原理 外加实例配带 经典之作适合入门者和想详细了解Struts1的人Struts1 程实例教 ...

Global site tag (gtag.js) - Google Analytics