Struts2.0与Struts1.x有何区别

          Struts2.0与Struts1.x有何区别。

特征

Struts的一

Struts的2

行动班

Struts的一要求采取行动班,以延长一个抽象的基类。 一个共同的问题在Struts的一,是编程抽象类而不是接口。

1 2 Struts的行动, 可能实施一项行动的界面,随着其他接口,使可选和定制服务。 Struts的2提供了相应的actionsupport一流的执行常用的接口。 虽然,这项行动的界面是不是必需的 。 任何波霍对象与执行的签名可以被用来作为一个Struts的二行动的对象。

线程模型

Struts的一行动是单身,必须线程安全的,因为将只有一个实例一类来处理所有的请求采取行动。 单身人士策略地方的限制,可以做些什么与Struts的一行动,并要求加倍小心发展。 行动的资源,必须线程安全的或同步。

2 Struts的行动对象是实例对于每个请求,因此没有线程安全问题。 (在实践中, Servlet的容器,产生许多扔离家出走的对象,每次请求,并多一个对象不施加表现罚款,或影响垃圾收集) 。

Servlet的依赖

Struts的一行动,依赖于该Servlet的空气污染指数以来, httpservletrequest和httpservletresponse传递给Execute方法,当一个行动是引用。

Struts的行动,二是不耦合的一个货柜。 最经常的Servlet的背景是派代表作为简单的地图,让行动,以测试陷入孤立的境地。 2 Struts的行动仍然可以使用原来的请求和响应,如果需要。 不过,其他建筑元素,减少或消除需要访问httpservetrequest或httpservletresponse直接。

测试

一个主要障碍,以测试Struts的一行动是Execute方法暴露了Servlet的空气污染指数。 第三党的扩展, Struts的testcase ,提供了一套模拟对象的Struts 1 。

2 Struts的行动可以测试实例化的行动,设置属性,引用的方法。 依赖注入的支持也使测试更简单。

收获的投入

Struts的一使用actionform对象捕获输入。一样的行动,所有actionforms必须扩大基地,一流的。 由于其他的JavaBeans不能被用来作为actionforms ,开发商常常造成多余的班,以捕捉的投入。 dynabeans可以用来作为一种替代创造常规actionform班,但这里太,发展商可能会redescribing现有的JavaBeans 。 

Struts的2使用性能的行动作为输入属性,不再需要第二个输入对象。 输入属性可能是丰富的对象类型可能有自己的属性。 行动性质可以从网页上通过taglibs 。 Struts的2还支持actionform模式,以及波霍形式,对象和波霍行动。 丰富的对象类型,其中包括商业利益或域对象,可以被用来作为输入/输出对象。 该modeldriven功能简化taglb的提述,波霍投入对象。 

语言表达

Struts的一整合与jstl ,所以它使用jstl下午。 的El已基本对象图遍历,但相对薄弱的收集和索引财产的支持。

Struts的二可以使用jstl ,但框架也支持一个更强大和灵活的语言表达所谓的“对象图形符号语言” ( ognl ) 。

有约束力的价值观纳入意见

Struts的一使用标准的JSP机制,有约束力的物体进入该网页的背景下访问。

Struts的2使用“ valuestack ”技术,使该taglibs可以访问的价值观没有耦合您的看法,以对象类型,这是渲染。 该valuestack策略允许重用的意见覆盖的类型可能有相同的属性名称,但不同的属性类型。 

类型转换

Struts的一actionform属性通常是所有字符串。 Struts的一用途的商品- beanutils为类型转换。 转换器每级的,而不是配置的每个实例。

Struts的2使用ognl为类型转换。 该框架包括转换为基本和共同的对象类型和原始。

验证

Struts的一支持手册审定通过验证方法对actionform ,或通过一个扩展到商品校验。 班级可以有不同的验证背景为同一阶层,但不能链,以验证就分对象。

Struts的2支持手册审定通过验证的方法和xwork的验证框架。 该xwork的验证框架支持链接验证分为分性能的使用验证的定义为性能一流的类型和验证。

控制行动的执行

Struts的一支持独立的请求处理器(生命周期)为每个单元,但所有的行动,在该模块必须共用相同的生命周期。

2 Struts的支持,创造不同的生命周期对每行动的基础上通过拦截堆叠。 自定义栈,才能创造和使用不同的行动,视需要。

 

你可能感兴趣的:(Struts2.0与Struts1.x有何区别)