WebWork2与Struts比较

转载 2004年07月30日 01:14:00
  

特性<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Struts1.1

WebWork2.x

Action

继承抽象基类,这就有使用继承替代接口的通用问题

实现com.opensymphony.xwork.Action接口和用于其它服务的一系列接口;WW2使用ActionSupport实现这些接口,可以充当基类

线程模型

Struts Actions必须是thread-safe,因为只有一个实例处理所有的请求,必须进行同步

WW2 Actions为每个请求创建实例,不需要thread-safe

Servlet依赖性

Struts Actions依赖Servlet容器,因为在执行时,需要获得ServletRequestServletResponse

WW2 Actions不依赖任何容器,也可以通过ActionContext访问requestresponse

测试性

Struts Actions太依赖Web容器,以至于总是在容器内部测试,这既慢,又不是单元测试

WW2 Actions容易进行单元测试,IoC使测试更简单:只要在Actions中模拟服务的实现,而不需要建立注册服务或静态Singtons

FormBeans

Struts对每个form多需要一个FormBean,这需要许多额外的类

WW2使用POJO充当FormBeans,作为常规的JavaBeans属性访问;ModelDriven Actions允许使用富对象类型(rich object type)或域对象

表达式语言(EL

Struts集成了JSTL,所以使用JSTL EL,提供相对较弱的集合和索引属性支持

WW2使用强大的OGNL表达式语言,通过ValueStack进行访问

绑定数据到视图

Struts使用标准的JSP机制,将对象绑定到page context进行访问,使得视图和FormBeans密耦合

WW2使用ValueStack动态寻找数值,使视图和render形式无耦合

类型转换

Struts使用Commons-Beanutils进行类型转换,转换器是per-class的,不能配置每个实例,错误消息难以理解

WW2使用OGNL进行类型转换,可以指定到每个类的每个域,并可以通过本地化机制定制错误消息

模块化预处理和后处理

由继承基类ActionsAction类委托处理,限制了对多接口实现的能力

WW2使用Interceptors模块化预处理和后处理;通过设置动态应用InterceptorsInterceptorsActions是无耦合的

数据验证

StrutsFormBean中调用validate(),通常使用Commons- Validation进行验证

WW2使用XWork验证框架:使用XML文件定义验证内容,通过Interceptors激活,使验证和Actios无耦合

控制Action的执行

很少能控制操作的执行顺序

Action的所有方面多移到Interceptors实现中(Interceptor stacks),因此可以控制Action的每个基本操作顺序

程序员高薪之路

程序员高薪之路作者:都市农民                现在随便登陆一个人才网站,都可以看到招聘软件人才的信息铺天盖地,但是不同企业开出的薪酬却是千差万别。同样的用人要求,薪酬的落差甚至可以达到万...
  • albert
  • albert
  • 2002-03-19 14:31:00
  • 2220

WebWork2与Struts比较

WebWork2与Struts比较- -                                       特性Struts1.1WebWork2.xAction类继承抽象基类,这就有使用继...
  • winterld
  • winterld
  • 2004-12-17 16:49:00
  • 1037

关于Struts和Webwork2的比较

  • zgqtxwd
  • zgqtxwd
  • 2008-04-26 03:00:00
  • 145

struts与webwork2的比较

 本文的内容来自各种渠道,有朋友非正式的讨论与邮件往来,也有网络上的各种资料,还有开发者们口耳相传的实践经验。为了方便读者,我不揣冒昧将它们整理成对话的形式,并借了两个虚构人物(WebWork的爱好者...
  • fzy816
  • fzy816
  • 2006-12-06 15:01:00
  • 975

struts与webwork2的比较

虽然是转贴,但是希望有用!本文的内容来自各种渠道,有朋友非正式的讨论与邮件往来,也有网络上的各种资料,还有开发者们口耳相传的实践经验。为了方便读者,我不揣冒昧将它们整理成对话的形式,并借了两个虚构人物...
  • nicky_hk
  • nicky_hk
  • 2006-12-06 16:40:00
  • 513

关于Struts和Webwork2的比较-转贴

比较内容 Struts WebWork2 Action 类 在Struts里面,每一个Action Class都需要扩展org.apache.struts.ac...
  • snowdot23
  • snowdot23
  • 2004-07-01 15:48:00
  • 626

struts action1与webwork2扩展性比较

    struts的可扩展性是基于类继承的,而webwork2的扩展是基于拦截器模式的。两者可以都可以达到相同的目的。但是前着不够灵活,特别是顺序,继承的顺序是固定的。而后者比较灵活,拦截器的顺序是...
  • wongtseng
  • wongtseng
  • 2006-12-19 10:04:00
  • 465

Webwork2开发

  • 2008年11月20日 16:10
  • 1.22MB
  • 下载

浅谈Struts2与Webwork的不同和相同点

浅谈Struts2与Webwork的不同和相同点 2011-06-28 09:14 honeymoose OSS社区 字号:T | T 本文介绍的两大开发框架,Struts ...
  • autumn20080101
  • autumn20080101
  • 2016-05-16 11:23:41
  • 1184

Webwork2使用经验四则

1.jar包中的taglib使用WebLogic是不支持直接在jar包中使用taglib的,所以,一个在tomcat下运行正常的页面,在weblogic server下可能出错:Parsing of ...
  • hongbo781202
  • hongbo781202
  • 2005-01-12 10:15:00
  • 1432
收藏助手
不良信息举报
您举报文章:WebWork2与Struts比较
举报原因:
原因补充:

(最多只允许输入30个字)