首页 课程 师资 教程 报名

Struts和Struts2的区别概述

  • 2022-02-10 08:45:34
  • 831次 星辉

Struts和Struts2的区别概述

Struts和Struts2的区别概述

1.前置控制器

strut 1.x – 使用的前端控制器是一个称为 ActionServlet 的 servlet

struts 2.x – 一个名为 FilterDispatcher 的过滤器被用作前端控制器。

您可以查看文章How Struts 2 Works以更好地了解 struts 2 的工作原理。

2.ActionForms

strut 1.x – ActonForms 用于 Struts 1。这些类映射到 jsp 表单。Action 类使用这些 ActonForms 中的数据来填充数据传输对象。

struts 2.x – 不使用 Acton 表单。jsp形式直接映射到POJO类,无需创建DTO,类数减少,维护量少。

3.验证

strut 1.x – 验证可以在 Form Bean 的 validate 方法中完成。

struts 2.x – 没有 Form Bean,因此可以将验证代码放在 Action 类中,也可以使用验证器框架。

4.表达语言

strut 1.x – Jstl(Java Standard Tag Library) 用于表达语言。

struts 2.x – 也使用 OGNL(Object Graphic Notation Language)作为表达语言,它比 JSTL 更强大。但是struts 2.x 也可以使用JSTL。

5.配置文件

strut 1.x – 使用的配置文件是 struts-config.xml,它可能是“anyname.xml”,并放在 web-inf 文件夹中。

struts 2.x - 配置文件的名称是 struts.xml,位于 web-inf/classes 文件夹中。也可以使用多个配置文件。

6.动作类

strut 1.x – Action 类必须扩展基本抽象类,因此不能扩展任何其他类。

struts 2.x – Action 类更加灵活,可以通过实现 Action 接口、扩展 ActionSupport 类或仅具有 execute() 方法的 POJO 类来创建。

7.线程安全

strut 1.x – 动作类是单例的,不是线程安全的。只有一个类的实例用于处理对 Action 的所有请求。

struts 2.x – 为每个请求实例化操作对象,因此不存在线程安全问题。

8.类型转换

strut 1.x – ActionForm 中的属性通常是字符串。在 struts 1 中使用 Commons-Beanutils 进行类型转换。

struts 2.x – OGNL 用于类型转换。Struts 2 包括通用对象类型和原始数据类型的转换器。

9.Servlet 依赖

strut 1.x – 动作类执行方法具有 HttpServletRequest 和 HttpServletResponse 类型的参数。所以 struts 1.x 的动作依赖于 servlet api。

struts 2.x – struts 2 中的 Action 类没有 servlet 依赖,因为它的 execute() 方法不接受任何参数。但是如果需要 Struts 2 Actions 仍然可以访问请求和响应。

10.查看

strut 1.x – 通常 JSP 页面用于视图。

struts 2.x – 支持多种视图技术,例如速度、Freemarker、jasper 报告、jsp 等。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交