1. action 类
struts1.x 面向抽象类的编程
struts2 面向接口的编程
2. 线程模式
struts1.x 是单例模式,一个实例处理所有请求,所以action资源必须是线程安全.
strut2 每次请求实例化一个对象,没有线程安全问题.
3. servlet 依赖
struts1.x 依赖于servlet API,依赖于web容器
struts2 与容器无关
4. 测试
struts1.x 依赖于容器
struts2 可以通过初始化action或依赖注入来测试
5. 捕获输入
struts1.x 用actionForm来捕获输入,而且actionForm必须扩展至基类.也可以用
动态bean但是那样也是对已存在javabean的重复描述
struts2 直接使用action属性作为表单输入,免去对第二个bean的依赖,可以直接通过taglib访问action属性.
6. 表达式语言
struts1.x 使用jstl作为表达式语言,具有基本的图形对象移动,但对集合索引属性支持弱.
struts2 也使用jstl,但是也支持功能更强大的ognl语言.
7. 将值绑定到页面
struts1.x 使用标准jsp机制将对象绑定到jsp页面上下文.
struts2 使用值栈技术,用taglib直接访问值,而不需要将对象与页面绑定起来.
8. 类型转换
struts1.x 的actionForm属性经常都是String类型.struts1.x使用commons-beanUtils工具转换每一个类.
struts2 使用ognl进行转换.
9. 验证
struts1.x 支持在actionForm的validator中进行手动验证,或通过commons validator校验.
struts2 支持通过validator 和 xwork框架验证.支持子对象效验.
10. action 执行控制
struts1.x 每一个请求模块有单独的请求周期,但是模块中的所有action必须共享相同的生命周期.
struts2 通过拦截器堆栈为每一个action创建不同的生命周期,堆栈能够根据需要和不同的action一起使用.
分享到:
相关推荐
**Struts2.x与Struts1.x对比**:相较于Struts1.x,Struts2.x具有更多的优势,如不再强制要求ActionForm,配置文件更简洁,处理流程更加清晰。具体而言,请求首先被过滤器捕获,然后根据`struts.xml`文件的配置调用...
Struts1.x是一个非常经典的Java Web开发框架,它在企业级应用中被广泛使用。而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理...
### Struts 1.x 学习笔记 #### 一、MVC 概述 MVC(Model-View-Controller)模式是一种广泛应用于软件工程中的设计模式,尤其在Web应用程序开发中非常常见。它将应用程序分为三个核心部分: 1. **模型(Model)**...
Struts 1.x 是一款基于模型-视图-控制器(MVC)设计模式的Java Web框架,它在早期的Web应用程序开发中占据了重要的地位。...同时,对比Struts 2.x,可以了解到框架的发展和不同之处,提升对现代Web开发的理解。
Spring MVC 和 Struts2.x 是两个广泛使用的Java Web开发中的MVC框架,它们各自具有不同的特点和优势。这里我们将深入探讨这两个框架的核心组件、工作原理以及它们之间的对比。 首先,让我们了解一下Spring MVC。...
### Struts1.x与Struts2.x的对比 相比于Struts1.x,Struts2.x在多个方面进行了改进: - **对Servlet API的依赖减少**:Struts2.x通过拦截器机制,降低了对Servlet API的直接依赖,使得Action对象更加纯粹,易于...
三、Struts2与Struts1.x的区别 1. **架构设计**:Struts1.x基于Front Controller模式,而Struts2采用了更先进的拦截器模型,提供了更细粒度的控制。 2. **配置方式**:Struts1.x主要依赖XML配置,而Struts2支持XML...
通过对比Struts 1.x和Struts 2.x的不同版本及其特性,我们可以看出Struts 2.x在很多方面都优于Struts 1.x。尽管如此,具体选择哪个版本还需要根据项目的实际需求和技术背景来决定。无论是选择Struts 1.x还是2.x,...
本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...
1. **为什么要升级Struts?** Struts 2.5.x版本包含了众多的安全修复和性能优化,特别是对于一些已知的安全漏洞,如CVE-2017-9791、CVE-2017-5638等。升级到最新版本有助于提高应用的安全性,防止恶意攻击,并且能够...
#### 二、Struts 1.x与Struts 2.0的Action模型对比 在讨论Struts 2.0中的Action之前,我们需要先了解一下Struts 1.x和Struts 2.0在Action处理机制上的差异。 ##### 2.1 Struts 1.x的Action模型 在Struts 1.x中,...
1. **灵活性**:Struts 2的文件上传功能比Struts 1.x更强大,且与整个框架集成度高。而SmartUpload作为独立库,提供了更多自定义选项。 2. **易用性**:对于熟悉Struts的开发者来说,Struts 2的文件上传配置相对简单...
六、Struts1_1_.x与现代框架对比 尽管Struts1_1_.x在当时有着广泛的应用,但随着技术的发展,它逐渐被Spring MVC、Play Framework等更现代的框架取代。这些新框架提供了更好的注解支持、依赖注入和模块化设计,使得...
- **现代框架对比**:Struts 2与Spring MVC、Play Framework等现代框架相比,可能存在维护成本高、社区活跃度低等问题,开发者需要权衡选择。 总之,了解并掌握Struts的各个版本及其特性,对于理解Web开发的历史...
- **特性对比**:在第1章中,作者详细对比了Struts2与其他流行的J2EE框架之间的特点。例如,Spring MVC以其简洁的设计理念受到许多开发者的青睐;而Struts2则以其强大的插件机制和配置灵活性著称。 - **优势分析**:...
Struts是Apache软件基金会(ASF)旗下的一个开源项目,它是一个用于构建...同时,由于Struts 1.x已经不再维护,开发者也可以借此机会对比学习更新的Struts 2或Spring MVC等框架,理解框架演进的过程和背后的设计思想。
下面我们将从Struts1.x与Struts2.0标签库的对比入手,再深入探讨Struts2中的非UI标签。 ##### 2.1 Struts1.x与Struts2.0 标签库对比 - **分类**:Struts1.x的标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...