apache struts 2 是一个优雅的、可扩展的框架,用于创建企业级 java web 应用程序。 该框架旨在简化从构建到部署和维护应用程序的整个开发周期。apache struts 2 最初被称为 web work 2。本教程将介绍如何使用 apache struts 以简单的步骤创建企业级 java web 应用程序。
struts2 是一个流行且成熟的基于 mvc 设计模式的 web 应用程序框架。 struts2 不仅仅是 struts 1 的新版本,它是对 struts 架构的完全重写。
webwork 框架最初以 struts 框架为基础,其目标是提供一个基于 struts 的增强和改进的框架,使开发人员更容易进行 web 开发。
一段时间后,webwork 框架和 struts 社区联手创建了著名的 struts2 框架。
struts 2 框架特性
以下是一些可能会迫使我们考虑使用 struts2 的强大功能
- pojo 表单和 pojo 动作 - struts2 取消了作为 struts 框架不可分割的一部分的动作表单。使用 struts2,我们可以使用任何 pojo 来接收表单输入。同样,现在可以将任何 pojo 视为一个 action 类。
- 标签支持 - struts2 改进了表单标签和新标签,允许开发人员编写更少的代码。
- ajax支持 - struts2 已经认识到 web2.0 技术的接管,并通过创建 ajax 标签将 ajax 支持集成到产品中,此功能与标准 struts2 标签非常相似。
- 轻松集成 - 与其他框架(如 spring、tiles 和 sitemesh)的集成现在更容易通过 struts2 提供的各种集成。
- 模板支持 - 支持使用模板生成视图。
- 插件支持 - 核心 struts2 行为可以通过使用插件来增强。许多插件可用于 struts2。
- profiling - struts2 提供集成的分析来调试和分析应用程序。除此之外,struts 还借助内置调试工具提供集成调试。
- 易于修改标签 - 可以使用 freemarker 模板调整 struts2 中的标签标记。这不需要 jsp 或 java 知识。基本的 html、xml 和 css 知识足以修改标签。
- 更少的配置 - struts2 在使用各种设置的默认值的帮助下促进了更少的配置。除非它偏离 struts2 设置的默认设置,否则我们不必进行配置。
- 视图 - struts2 对多种视图选项(jsp、freemarker、velocity 和 xslt)有很好的支持
上面列出了 struts 2 的 10 大特性,这使它成为一个企业级框架。
struts 2 的缺点
尽管 struts 2 提供了一系列强大的功能,但当前版本存在一些限制 - struts 2 需要进一步改进。 列出了一些要点
- 更大的学习成本 - 要将 mvc 与 struts 一起使用,我们必须熟悉标准的 jsp、servlet api 和一个大型且精致的框架。
- 文档不佳 - 与标准 servlet 和 jsp api 相比,struts 的在线资源较少,许多初次使用的用户发现在线 apache 文档令人困惑且组织不善。
- 不透明 - 与普通的基于 java 的 web 应用程序相比,struts 应用程序在幕后发生的事情要多得多,这使得框架难以理解。
最后一点,一个好的框架应该提供许多不同类型的应用程序可以使用它的通用行为。
struts 2 是最好的 web 框架之一,并被高度用于 rich internet application (ria) 的开发。
谁适合阅读本教程
本教程是为有兴趣了解 struts 2.x 框架及其应用程序基础知识的 java 程序员设计的。
在继续本教程之前,大家应该对 java 编程语言有一个很好的了解。 对 mvc 框架和 jsp 或 servlet 有基本的了解非常有帮助。