Struts 简介

目前人们所说的 Struts 通常指的就是 Struts2。Struts2 是目前较为普及和成熟的基于 MVC 设计模式的 web 应用程序框架,它不仅仅是 Struts1 的升级版本,更是一个全新的 Struts 架构。最初,是以 WebWork 框架和 Struts 框架为基础,通过提供增强和改进的 Struts 框架,进而实现简化 web 技术人员开发工作的目标。不久之后,Webwork 框架和 Struts 社区联合创造了现在流行的 Struts 框架,即 Struts2。(本专栏文章中所出现的 Struts 也是指的 Struts2)

Struts 的优点

  • POJO 表单及 POJO操作:Struts2 去除掉了 Struts 框架中的 ActionForms 部分。在 Struts2 框架下,开发人员可以使用任何一个 POJO 来接收表单的输入,同样的,也可以把任何一个 POJO 视为一个 Action 类;
  • 标签支持:Struts2 改进了标签表单,而新的标签可让开发人员减少代码编写量;
  • AJAX 支持:Struts2 被认可接收进 Web 2.0 技术,并创建了功能非常类似于标准的 Struts2  标签的 AJAX 标签,把 AJAX 支持整合进其结果中;
  • 易于整合:Struts 有多种整合方式可使用,现在与其他类型的框架,如 Spring、Tiles、SiteMesh 之类的,整合更为容易了。
  • 模板支持:Struts 支持使用模板生成视图。
  • 插件支持:有大量的插件可用于 Struts2,而使用插件可以增强和扩大 Struts2 的核心行为。
  • 性能分析:Struts2 为调试和配置应用程序提供综合的性能分析,此外,Struts 也可以以嵌入调试工具的形式提供集成调试;
  • 易于修改标签:在 Struts2 中,可使用 Freemarker 的模板对标签标记进行调整,而修改标签不需要 JSP 或是 Java 知识,基本的 HTML、XML 和 CSS 知识就足够了;
  • 促进减少配置:Struts2 使用各种设置的默认值促进减少配置,而开发人员不需要再配置什么,除非是偏离了 Struts2 设定的默认设置;
  • 视图技术:Struts2 为多种视图选项(JSP、Freemarker、Velocity、XSLT等)提供支持。

Struts 的缺点

  • 更大的学习曲线:关联知识点更多,使用 Struts,需要了解 MVC 架构,同时要熟悉 JSP、Servlet APIs 标准以及其他的复杂框架。
  • 文档缺乏:相比于 Servlet 和 JSP APIs 标准,Struts 的在线资源较少,同时在线文档混乱并缺乏整理;
  • 不够透明:相比于使用正常的基于Java 的 Web 应用程序,使用 Struts 的应用程序有许多都是在后台进行的,这使得框架不易于理解。

Struts2 的执行步骤(Struts 使用 Filter 嵌入)

  1. 客户端初始化指向 Service 容器(Tomcat)的请求
  2. 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp 的可选过滤器,这个过滤器对于 Struts2 和其他框架的集成很有帮助)
  3. 接着 FilterDispatcher 被调用,此时 FilterDispatcher 询问 ActionMapper 来决定这个请求是否需要调用某个 Action
  4. 如果 ActionMapper 决定需要调用某个 Action,那么 FilterDispatcher 就把请求的处理交给 ActionProxy
  5. ActionProxy 通过 Configuration Manger 询问框架的配置文件,找到需要调用的 Action 类
  6. ActionProxy 创建一个 ActionInvocation 的实例
  7. ActionInvocation 实例使用命名模式来调用,在调用 Action 的过程前后,涉及到相关拦截器(Intercepter)的调用
  8. 一旦 Action 执行完毕,ActionInvocation 负责根据 struts.xml 中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外一个 Action 链)一个需要被表示的 jsp 或者 FreeMarker 的模板
  9. 将处理结果返回

Struts 作为 SSH 架构的组成部分之一,与 SSM 架构中的 Spring MVC 具有同等地位。两者的相同点是:都是使用依赖注入(DI)来管理各层的组件,都是使用 AOP 切面编程来管理事务,日志,权限等。不同点是:Struts2 和 SpringMVC 控制视图和模型的交互机制不同;Strtus2 是 Action 类级别,SpringMVC 是方法级别

本文参考自:Struts2 概述_w3cschool

SSH和SSM的区别_一只菜鸡小猴ou的博客-CSDN博客_ssh ssm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
struts-2.3框架的开发流程包括以下几个步骤: 1. 下载和配置struts-2.3框架:首先,你需要从官方网站下载struts-2.3的jar包。然后,将下载的jar包添加到你的项目中,并在项目的配置文件中引入struts-2.3的DTD文件。另外,你还需要将struts-2.3框架的配置文件(struts.xml)添加到项目的src目录下。 2. 创建Action类:在struts-2.3框架中,Action类是处理用户请求的核心组件。你需要创建一个Action类,并实现对应的业务逻辑。 3. 配置struts.xml文件:在struts.xml文件中,你需要配置Action类的映射关系,即将用户的请求路径映射到对应的Action类上。你还可以在struts.xml文件中配置拦截器、结果类型等信息。 4. 编写视图页面:根据你的业务需求,你需要编写对应的JSP页面来呈现数据和与用户进行交互。 5. 部署和测试:完成以上步骤后,你可以将项目部署到服务器上,并进行测试,确保struts-2.3框架的开发流程正常运行。 总结起来,struts-2.3框架的开发流程包括下载和配置框架、创建Action类、配置struts.xml文件、编写视图页面以及部署和测试。通过这些步骤,你可以使用struts-2.3框架来进行Web应用的开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Struts2框架概述、Struts简介Struts环境搭建、Struts执行流程、Struts文档、Struts配置文件的加载顺序-...](https://blog.csdn.net/qq_43414199/article/details/107729976)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值