Struts和struts2的不同

本文详细比较了Struts与Struts2框架的主要不同之处,包括Action的实现方式、线程安全性、Servlet依赖性、可测性等方面,并探讨了它们在数据获取、表达式语言使用、类型转换和校验等方面的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

    Struts和struts2的不同点:

   1、Action

     Struts的Action类要求继承一个基类。

     Struts2的Action类是通过实现接口。

   2、线程模式

     Struts Action线程不安全的,单列的模式。

     Struts2 Action对象为每个请求产生一个实例

   3、Servlet依赖

     Struts Action依赖于Servlet API

 Struts2 Action不依赖于容器

   4、可测性

     Struts Action 测试时excute方法暴露了Servlet API(要依赖于容器)

 Struts2 Action 依赖注入

   5、捕获输入

     Struts 通过ActionForm拿到数据

 Struts2 Action 直接使用 Action 属性作为输入的属性

   6、表达式语言

     Struts 整合了 JSTL ,因此使用 JSTL EL .

 Struts2 可以使用 JSTL OGNL

   7、绑定值到页面

     Struts 使用标准 JSP 机制把对象绑定到页面来访问

 Struts2 使用 "ValueStack" 技术

            8、类型的转换

     Struts1 ActionForm 属性通常都是 String 类型的. Struts1使用 Commons-Beanutils 进行类型的转换

              每个类一个转换器,对每一个实例来说是不可配置的

 Struts2 使用OGNL 进行类型的转换. 提供基本的和常用的对象的转换器

   9、校验 

     Struts1 支持在 ActioNForm 的 validate 方法中手动的校验

     Struts2 支持通过 validate 方法和 XWork 校验框架来进行校验

   10、Action 执行的控制 

     Struts1 支持每一个模块有单独的 Request Processors (生命周期);但是模块中的所有的 Action 必须功效那个相同的生命周期

     Struts2 支持通过拦截器堆栈 (Interceptor Stacks) 为每一个 Action 创建不同的生命周期.

 

 

 struts是servlet为核心控制器,而struts2是以一个过滤器和拦截器为核心控制器

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值