Struts与Spring MVC
Struts框架是开发javaeeweb应用程序的最初的web应用程序框架之一。Spring是一个开源的应用程序框架。在Spring框架引入一段时间后,开发人员在Spring框架中添加了一个MVC框架,希望能够解决Struts中发现的一些局限性。但几年后,Struts2(或StrutsVersion2)问世了,它完全不同于web应用程序框架,并且得到了高度改进。现在,Struts和springmvc都被大量用于开发javaee应用程序。
什么是Struts?
Struts(也称为apachestruts)是一个用Java编写的跨平台开源框架,旨在开发javaeeweb应用程序。Struts鼓励使用MVC(Model-View-Controller)架构。它是JavaServletAPI的扩展。Craig McClanahan是Struts的最初创建者。最初它被称为jakarathastruts,并在Apache软件基金会的Jakarta项目下进行维护。它目前的稳定版本是2011年5月发布的2.2.3版本。它是在Apache许可证2.0下发布的。Struts框架被称为基于请求的框架,它由三个主要组件组成:请求处理程序、响应处理程序和标记库。标准URI(统一资源标识符)映射到请求处理程序。响应处理程序负责传输控制。要使用表单创建交互式应用程序,可以利用标记库提供的功能。Struts支持REST应用程序和各种技术,如SOAP、AJAX等。
什么是Spring MVC?
Spring是一个开源的应用程序框架。它由罗德·约翰逊开发,第一个版本于2004年发布。spring3.0.5是Spring框架的当前版本。它是根据Apache2.0许可证授权的。任何Java应用程序都可以使用Spring框架的核心特性。Spring框架中有几个模块,MVC就是其中之一。springmvc框架并不是他们最初计划的一部分。事实上,Spring开发人员提出自己的MVC框架的原因是为了解决Struts(版本1)和其他类似框架中的缺陷。在表示层和层之间的分离时,他们特别表示要解决层与层之间的分离问题。springmvc也是一个基于请求的web应用程序框架。
Struts和Spring MVC有什么区别?
尽管springmvc和Struts是两种用于开发javaeeweb应用程序的流行web应用程序框架,但它们有它们的区别。事实上,springmvc是为了解决Struts(版本1)中的一些限制而开发的。但是Struts2是一个比version1高度改进的框架(它们甚至不共享相同的代码库),因此springmvc和Structs2具有很强的可比性。
springmvc的主要优点之一是可以与许多视图选项(如JSP/JSTL、Tiles、FreeMaker、Excel、PDF和JSON)无缝集成。但是,与Struts不同,springmvc不提供内置AJAX支持(需要使用第三方AJAX库)。