Struts vs Spring MVC
Struts框架是开发Java EE web应用程序的初始web应用程序框架之一。Spring是一个开源的应用程序框架。在引入Spring框架之后的一段时间,开发人员在Spring框架中添加了一个MVC框架,希望解决他们在Struts中感知到的一些限制。但几年后,Struts2(或Struts版本2)出现了,它是一个完全不同的、高度改进的web应用程序框架。现在,Struts和Spring MVC都被广泛用于开发Java EE应用程序。
Struts是什么?
Struts(也称为Apache Struts)是一个用Java编写的跨平台开源框架,旨在开发Java EE web应用程序。Struts鼓励使用MVC(模型-视图-控制器)体系结构。它是Java Servlet API的扩展。Craig McClanahan是Struts的最初创建者。最初它被称为Jakaratha Struts,并在Apache软件基金会的Jakarta项目下进行维护。它目前的稳定版本是2.2.3版本,于2011年5月发布。它是在Apache License 2.0下发布的。Struts框架被称为基于请求的框架,它由三个主要组件组成:请求处理程序、响应处理程序和标记库。标准URI(统一资源标识符)映射到请求处理程序。响应处理程序负责传递控制。 To create interactive applications with forms, the features offered by the tag library can be utilized. Struts support REST applications and various technologies like SOAP, AJAX, etc.
什么是Spring MVC?
Spring是一个开源的应用程序框架。它是由罗德·约翰逊开发的,第一个版本于2004年发布。Spring 3.0.5是Spring框架的当前版本。它是在Apache 2.0许可下授权的。任何Java应用程序都可以使用Spring框架的核心特性。Spring框架有几个模块,MVC就是其中之一。Spring MVC框架并不是他们最初计划的一部分。事实上,Spring开发人员提出他们自己的MVC框架的原因是为Struts(版本1)和其他类似框架中的缺陷提供解决方案。特别是,他们说他们希望解决表示层、请求处理层和模型之间缺乏分离的问题。Spring MVC也是一个基于请求的web应用程序框架。
Struts和Spring MVC有什么区别?
虽然Spring MVC和Struts是用于开发Java EE web应用程序的两种流行的web应用程序框架,但它们也有不同之处。事实上,Spring MVC的开发是为了解决Struts(版本1)中的一些限制。但是Struts2是一个比版本1有很大改进的框架(它们甚至不共享相同的代码库),因此,Spring MVC和Structs2具有高度的可比性。
Spring MVC的主要优势之一是它可以与许多视图选项无缝集成,如JSP/JSTL、Tiles、FreeMaker、Excel、PDF和JSON。但是,与Struts不同的是,Spring MVC不提供内置的AJAX支持(需要使用第三方AJAX库)。
最终,它们都被认为是高度成熟的框架,在两者之间的选择取决于个人偏好。这里需要注意的是,如果有人对struts有任何负面的看法,那也只是由于struts版本1中发现的缺陷(现在认为它已经过时了)。
留下一个回复