概述

优质
小牛编辑
132浏览
2023-12-01

Struts2是一个基于MVC设计模式的流行且成熟的Web应用程序框架。 Struts2不仅仅是Struts 1的新版本,而且完全重写了Struts架构。

Webwork框架最初以Struts框架为基础,其目标是提供基于Struts的增强和改进框架,使开发人员更容易进行Web开发。

过了一会儿,Webwork框架和Struts社区联手创建了着名的Struts2框架。

Struts 2框架功能

以下是一些可能迫使您考虑Struts2的强大功能 -

  • POJO Forms and POJO Actions - Struts2已经废除了Action Forms,它是Struts框架不可或缺的一部分。 使用Struts2,您可以使用任何POJO来接收表单输入。 同样,您现在可以将任何POJO视为Action类。

  • Tag Support - Struts2改进了表单标记和新标记,允许开发人员编写更少的代码。

  • AJAX Support --Struts2已经认识到Web2.0技术的接管,并通过创建AJAX标签将AJAX支持集成到产品中,这个功能非常类似于标准的Struts2标签。

  • Easy Integration - 通过Struts2提供的各种集成,现在可以更轻松地与Spring,Tiles和SiteMesh等其他框架集成。

  • Template Support - 支持使用模板生成视图。

  • Plugin Support - 可以通过使用插件来增强和增强核心Struts2行为。 Struts2有许多插件可供使用。

  • Profiling - Struts2提供集成的分析功能来调试和分析应用程序。 除此之外,Struts还在内置调试工具的帮助下提供集成调试。

  • Easy to Modify Tags - 可以使用Freemarker模板调整Struts2中的标记标记。 这不需要JSP或Java知识。 基本的HTML,XML和CSS知识足以修改标签。

  • Promote Less configuration - Struts2借助于为各种设置使用默认值来促进更少的配置。 除非它与Struts2设置的默认设置不同,否则您不必配置某些内容。

  • View Technologies - Struts2非常支持多种视图选项(JSP,Freemarker,Velocity和XSLT)

上面列出的是Struts 2的十大功能,使其成为企业就绪框架。

Struts 2的缺点

虽然Struts 2附带了一系列强大的功能,但是当前版本存在一些局限性 - Struts 2需要进一步改进。 列出的是一些要点 -

  • Bigger Learning Curve - 要在Struts中使用MVC,您必须熟悉标准的JSP,Servlet API和一个庞大而精细的框架。

  • Poor Documentation - 与标准的servlet和JSP API相比,Struts拥有更少的在线资源,许多首次使用的用户发现在线Apache文档令人困惑且组织不良。

  • Less Transparent - 使用Struts应用程序,幕后工作比普通的基于Java的Web应用程序要多得多,因此很难理解框架。

最后需要注意的是,一个好的框架应该提供许多不同类型的应用程序可以使用它的通用行为。

Struts 2是最好的Web框架之一,并且高度用于Rich Internet Applications(RIA)的开发。

最后更新:

类似资料

  • 概述 国际化和本地化的目的就是让一个网站应用能做到根据用户语种和指定格式的不同而提供不同的内容。 Django 对文本翻译, 日期、时间和数字的格式化,以及时区提供了完善的支持。 实际上,Django做了两件事: 由开发者和模板作者指定应用的哪些部分应该翻译,或是根据本地语种和文化进行相应的格式化。 根据用户的偏好设置,使用钩子将web应用本地化。 很显然,翻译取决于用户所选语言,而格式化通常取决

  • 虽然Django 满满的便捷性让Web 开发人员活得轻松一些,但是如果不能轻松地部署你的网站,这些工具还是没有什么用处。Django 起初,易于部署就是一个主要的目标。有许多优秀的方法可以轻松地来部署Django: 如何使用WSGI 部署 部署的检查清单 FastCGI 的支持已经废弃并将在Django 1.9 中删除。 如何使用FastCGI、SCGI 和AJP 部署Django 如果你是部署D

  • 本书概述 进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有 COW(Copy On Write)、Flock(File Lock)、Epoll 和 Namespace 的概念又是否了解过呢? 本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。 本书架构 本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以

  • Docker在1.12.0和以上版本中增加了swarm模式。通过swarm模式管理的Docker Engines集群称之为“Swarm”。并可以通过Docker CLI来创建Swarm,在Swarm中部署应用服务,以及管理Swarm。 功能特点 在Docker Engines中集成了集群管理功能:通过Docker CLI可以创建一个用来发布应用services的swarm,而不需要安装其他任何额外

  • 这是 Elasticsearch 官方的 PHP 客户端。我们把 Elasticsearch-PHP 设计成低级客户端(低级设计模式),使用时不会偏离 REST API 的用法。 客户端所有方法几乎都与 REST API 对应,而且也与其他编程语言的客户端(如 ruby, python 等)方法结构相似。我们希望这种对应方式可以方便开发者更加容易上手客户端,且以最小的代价快速从一种编程语言转换到另

  • 特点 为什么用 Groovy?