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 等。

关于 "Struts和Struts2的区别有哪些" 就介绍到此。希望多多支持编程宝库

Struts2文件如何下载:本文讲解"Struts2文件怎么下载",希望能够解决相关问题。文件下载路径问题,项目运行时MyEclipse会加载Tomcat的webapps目录下的项目。所以,关于路径问题(一定要设置相对路径强度)下载到本地服 ...