`

Spring MVC 和Struts2的性能比较

 
阅读更多
原文地址:http://blog.csdn.net/smallnest/article/details/6424303



Spring MVC 和 Struts2 是现在比较流行的 java web MVC 框架。这两个框架都有广泛的应用。至于两个框架的优劣,众说纷纭,这里我也不想搀和到争论之中。我所关注的是两个框架的性能如何。最近利用 ApacheBench 做了一下测试。结果显示,两者之间的性能相差不大, Spring MVC 并没有绝对的优势。



我的测试环境是在 HP 一台服务器上进行的。这台服务器拥有 Intel(R) Xeon(R) CPU           E5530  @ 2.40GHz 四枚。每个 CPU 四个核。 16G 内存。 64bit Red Hat Enterprise Linux Server release 5.4 操作系统。



Web 服务器采用 tomcat 7.0.12, 未做特别的优化,只是将 Connector 的 protocol 换成 Http11NioProtocol 的处理方式 :

<Connector executor="tomcatThreadPool"

               port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

                maxThreads="1000" minSpareThreads="50"

               acceptCount="1000"



               connectionTimeout="20000"

               redirectPort="8443" />





为了避免数据库的操作对测试的影响,测试用的 Web 应用程序都只是一个简单的  Hello world 程序。 Spring Helloworld 程序通过 Annotation 定义了一个 Controller 类,设置了一个 message, view 是一个 jsp 页面,用来显示这个 message 。 Struts2 Helloworld 程序实现了一个 Action, 里面定义了一个 message, 一个 jsp 页面用来显示这个 message 。 总之,这两个程序逻辑基本相同,程序简之又简。

作为比较,每次测试时还测试 tomcat root 下的 index.jsp 文件,用以和使用 Spring/Struts2 框架的应用程序进行比较。因为 index.jsp 文件 byte 数要比这两个框架的应用程序大的多,关于 ROOT 的测试数据仅供参考。



测试时发现针对同一框架应用相同的测试方法,得到的测试结果也不尽相同。多多少少有 0.01ms 的误差。



Spring MVC 的版本是: 3.1.0.M1

Struts2 的版本是: 2.2.3



下图是测试结果比较:



从图上看出, spring,struts2 和 root 线基本重合。考虑到测试结果的误差,基本可以看作两者在性能上并没有太大的差别。





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

相关推荐

    spring webmvc struts 2.5 很难找的依赖包

    spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 ...

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    总结来说,Struts1、Struts2和Spring MVC各有优劣,选择哪个框架主要取决于项目需求、团队熟悉程度以及对框架特性的偏好。在现代Java Web开发中,Spring MVC因其灵活性和强大的功能,成为更受欢迎的选择。

    spring-webmvc-struts.jar

    spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包

    Spring+Spring MVC+Struts+hibernate开发摄影平台完整版系统

    接下来,Struts是另一款流行的MVC框架,虽然在Spring MVC广泛应用的现在,Struts的使用可能较少,但在本系统中,Struts可能被用来增强特定的控制器功能,或者作为Spring MVC的补充,提供额外的Action类和拦截器,以...

    Spring3-MVC与Struts2.x比较.pdf

    Spring MVC 和 Struts2.x 是两个广泛使用的Java Web开发框架,它们都在模型-视图-控制器(MVC)架构中提供了强大的支持。Spring MVC 以其灵活性、高效性和可扩展性在近年来逐渐受到开发者青睐,尤其是在Spring 3.0...

    spring-webmvc-struts.jar aspectjweaver.jar

    标题中的"spring-webmvc-struts.jar"和"aspectjweaver.jar"是两个重要的Java库文件,它们在Java Web开发中扮演着核心角色,特别是对于基于Spring框架的应用程序。现在让我们详细了解一下这两个库以及它们在实际开发...

    Spring3-MVC与Struts2.x比较.docx

    Spring MVC 和 Struts2.x 是两个广泛使用的Java Web开发中的MVC框架,它们各自具有不同的特点和优势。这里我们将深入探讨这两个框架的核心组件、工作原理以及它们之间的对比。 首先,让我们了解一下Spring MVC。...

    Struts和Spring两种MVC框架究竟有什么不同呢?

    Struts和Spring是Java Web开发中两种非常流行的MVC(Model-View-Controller)框架,它们都致力于解耦应用程序的业务逻辑和展示层,但各自有着不同的设计哲学和功能特性。 Struts是Apache软件基金会的一个开源项目,...

    ACCP 5.0 Y2 MVC和Struts2本书的选择题答案

    在IT行业中,MVC(Model-View-Controller)和Struts2是两种广泛使用的Web应用程序开发框架,尤其在Java平台上。ACCP(Advanced Certified Computer Professional)5.0 Y2是某培训机构的一个课程版本,该课程可能涵盖...

    spring.jar spring-webmvc-struts.jar spring-webmvc.jar

    标题中的"spring.jar"、"spring-webmvc-struts.jar"和"spring-webmvc.jar"都是Spring框架相关的Java库文件,通常以.jar结尾的文件是Java的归档文件,包含了类、资源和元数据,用于Java应用程序的运行。这些文件在...

    spring-webmvc-struts-2.5.6-sources.jar

    spring-webmvc-struts-2.5.6-sources

    struts VS spring mvc

    2. **性能**:Spring MVC 在性能方面优于 Struts,这得益于其更轻量级的设计和更好的优化。 3. **易用性**:两者都有各自的优点。Struts 由于历史悠久,文档和教程丰富,对于初学者来说上手更容易;而 Spring MVC ...

    Spring MVC 教程快速入门 深入分析

    相较于Struts2,Spring MVC避免了一些可能导致性能下降的特性,如值栈、OGNL表达式等。 二、Spring MVC核心类与接口:Spring MVC架构中包含许多核心组件,如DispatcherServlet、HandlerMapping、Controller、...

    Spring3.0MVC 实用教程(高淇)

    在开发效率上,Spring MVC 和 Struts2 表现相当。Struts2 的低性能并不影响其在开发效率上的表现。对于高并发场景,优化配置和选择合适的视图技术是关键。 创建基于 Spring 2.5 的 Spring MVC 项目,通常需要以下...

Global site tag (gtag.js) - Google Analytics