Java Struts2 框架入门详解(一)MVC架构详解以及Struts基本概述

Apache Struts 2 是一个简洁的,可扩展的框架,它用来创建企业级的 Java web 应用程序。框架的目的是随着时间的积累从构建,部署,维护应用程序上简化整个开发周期。Apache Struts 2 最初被称为 WebWork 2。

首先,我们应该先了解什么是MVC框架:

模型-视图-控制器或通常被称为 MVC,是一种用于开发 web 应用程序的软件设计模式。模型-视图-控制器模式由以下三个部分组成:

  • Model - 模式的最低层,负责维护数据。

  • View - 负责显示全部或部分的数据给用户。

  • Controller - 控制模型和视图之间的交互的软件代码。

MVC 是受欢迎的,是因为它把应用逻辑从用户接口层中分离,而且支持关注点的分离。在这里,控制器接收应用程序的所有请求,然后与模型一起工作准备好视图需要的任何数据。然后视图使用控制器准备好的数据来生成最终正式的响应。MVC 抽象可以用图形表示,如下所示。

模型

模型负责管理应用程序的数据。它响应来自视图的请求,而且它也响应来自控制器的指令进行更新自身。

视图

在一个特定格式中数据的展示由一个控制器的决定引发来呈现该数据。它们是基于模板系统的脚本,如 JSP,ASP,PHP,而且它们很容易与 AJAX 技术进行集成。

控制器

控制器负责响应用户的输入和执行数据模型对象的交互。控制器接收输入,验证输入,然后执行修改数据模型状态的业务操作。


Struts 2 是流行且成熟的基于 MVC 设计模式的 web 应用程序框架。Struts 2 不只是 Struts 1 的版本升级,而它是一个完全重写的 Struts 架构。


WebWork 框架一开始是以 Struts 框架为基础的,它的目标是提供一个建立在 Struts 上加强和改进的框架来使开发人员更容易进行 web 开发

一段时间之后,WebWork 框架和 Struts 社区联手创建了著名的 Struts 2 框架。

Struts 2 框架的功能

这里有一些强大的功能,它可能会迫使你考虑 Struts 2:

  • POJO 表单和 POJO 动作 - Struts 2 已经去掉了原先是 Struts 框架的一个组成部分的动作表单,利用 Struts 2,你可以使用任何 POJO 来接收表单的输入。同样,你现在可以看到任何作为 Action 类的 POJO。

  • 标签支持 - Struts 2 已经改进了表单标签和新标签允许开发人员编写更少的代码。

  • AJAX 支持- Struts 2 已经确认由 Web2.0 技术接管,并且通过创建 AJAX 标签把 AJAX 支持集成到产品中,AJAX 标签的功能非常类似于标准 Struts 2 标签的功能。

  • 易于整合 - 与其他框架如 Spring 一起集成,Tiles 和 SiteMesh 是现在更容易使用各种各样有效的使用 Struts 2 的集成。

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

  • 插件支持 - 核心 Struts 2 的特性可以使用插件得到提高和增强。大量的插件对于 Struts 2 来说是可用的。

  • 配置 - Struts 2 提供了集成配置来调试和配置应用程序。除此之外,Struts 还在内置调试工具的帮助下提供了集成调试。

  • 易于修改标签 - Struts 2 的标签标记可以使用 Freemarker 模板进行调整。这并不需要 JSP 或 Java 知识。基础的 HTML,XML 和 CSS 知识是足够修改标签的。

  • 提升较少的配置 - Struts 2 在使用各种设置的默认值的帮助下促进较少的配置。你不需要配置,除非它偏离 Struts 2 设定的默认设置。

  • 视图技术: - Struts 2 大力支持多个视图选项(JSP,Freemarker,Velocity 和 XSLT)

以上只是 Struts 2 使它成为企业级框架的前十大功能。

Struts 2 的缺点

虽然 Struts 2 有一列强大的功能,但我不会忘了提及一些关于 Struts 2 的缺点,它将需要很多改进:

  • 更大的学习曲线 - 要使用带有 Struts 的 MVC,你必须是熟练使用标准的 JSP,Servlet APIs 和大量精心设计的框架。

  • 拙劣的文档 - 与标准的 servlet 和 JSP APIs 相比,Struts 有较少的在线资源,许多第一次使用的用户发现网上 Apache 文档混乱而且缺乏组织。

  • 较少的透明度 – 使用 Struts 应用程序有比使用标准的基于 Java 的 Web 应用程序更多的幕后,这使得它很难理解框架。

最后一点,一个好的框架应该提供许多不同类型的应用程序可以使用的通用的特性。Struts 2 是最好的 web 框架之一,而且被广泛地用于开发 Rich 互联网应用(RIA)。




你可能感兴趣的:(Java,web,JSP,SSH架构,mvc,struts2.0,java,web,框架)