原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm
Struts2是基于MVC设计模式的一种流行、成熟的Web应用框架。
它不仅仅是Struts1的下一个版本,更是对Structs架构的一个完整重写。
而WebWork则是以Struts框架为基础的一个框架,它的目标是提供一个基于Struts的增强、改进框架,使开发人员更轻松地进行Web开发。
在一段时间后,Webwork框架和Struts社区携手共同创建了著名的Struts2框架。
Struts2 框架特性
-
POJO forms and POJO actions - Struts2已经完成了作为Struts框架组成部分的Action Forms。通过Struts2,你可以使用任何POJO来接收表单数据。同样,你现在可以看到任何POJO充当Action类。
-
Tag support - Struts2已经改进了表单标签,新标签允许开发人员编写更少的代码。
-
AJAX support - Struts2已经认可并接纳了Web2.0 技术, 并通过创建与标准Struts2标签非常相似的AJAX标签将AJAX集成到产品中。
-
Easy Integration - 与其他框架(如Spring,Tiles和SiteMesh)的集成现在可以通过Struts2可用的各种集成来实现。
-
Template Support - 支持使用模板生成视图。
-
Plugin Support - 可以通过使用插件来增强和扩充核心的Struts2行为;Struts2有许多可用的插件。
-
Profiling - Struts2提供集成分析来调试和配置应用程序。除此之外,Struts还提供了内置调试工具的集成调试功能。
-
Easy to modify tags - 可以使用Freemarker模板调整Struts2中的 Tag markups。这不需要JSP或java知识。基本的HTML,XML和CSS知识足以修改标签。
-
Promote less configuration - Struts2通过使用各种设置的默认值来促进更少的配置。您不必配置某些东西,除非它偏离了由Struts2设置的默认设置。
-
View Technologies: - Struts2支持多种视图(JSP,Freemarker,Velocity和XSLT)
以上仅仅是Struts 2的十大特性。
Struts2 的缺点
虽然Struts 2附带了一些很棒的功能,但是也有一些缺点,仍需要大量的改进:
-
更复杂的学习曲线 - 要使用MVC与Struts,你必须适应使用标准的JSP,Servlet API和一个庞大而精致的框架。
-
文档缺乏 - 与标准的servlet和JSP API相比,Struts的在线资源较少,并且Apache文档很混乱、组织方式极差。
-
透明度较低 - 使用Struts应用程序,与使用常规的基于Java的Web应用程序相比,后台有更多的操作,这使得框架很难以理解。
最后要说明的是,一个好的框架应该提供“更通用的行为”,以便不同类型的应用程序可以更好地利用它。Struts 2是最好的Web框架之一,被高度应用于开发富互联网应用(RIA)。