WebWork2与Struts比较

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

特性

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的每个基本操作顺序

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

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

Webwork-2.2.4迁移至struts-2.3.16涉及的相关修改

Webwork-2.2.4迁移至struts-2.3.16涉及的相关修改 1、jar替换 当前环境webwork及相关jar版本 升级至struts-2.3.16所需的j...
  • abudexiatian
  • abudexiatian
  • 2014年05月26日 10:58
  • 1537

struts2 判断字符串相等和其他struts2标签

Struts2标签判断字符串相等 及 struts2 标签库 在做项目时,需要判断用struts2标签来判断两个字符串是否相等,在查阅了相关资料后,找到了如下方法 正确的写法如下: 男 男 ...
  • tengdazhang770960436
  • tengdazhang770960436
  • 2013年11月02日 23:52
  • 1044

OGNL和EL表达式对比 Struts2标签和JSTL对比

Struts2中的标签 OGNL表达式,EL表达式 JSTL 对比
  • c_w_d
  • c_w_d
  • 2016年08月22日 11:20
  • 1512

ofbiz和struts的对比

Struts的MVC实现 Struts 的体系结构实现了Model-View-Controller设计模式的概念,它将这些概念映射到web应用程序的组件和概念中。              ...
  • diyagea
  • diyagea
  • 2015年11月20日 10:37
  • 1137

webwork2框架原理

WebWork的网站上提供了一个完整的WebWork架构图。它描述了从客户端的一次请求到最后服务器端响应的的整个执行过程。架构图如下:   架构图 此架构图一共分为五个...
  • u010534879
  • u010534879
  • 2013年08月06日 15:04
  • 456

webwork2初步使用

最近有用到webwork2,自己试着做了一个demo,把过程分享给大家 第一步:寻找到jar包 首先要去webwork官网上下载webwork的jar包,要是不想下载,可以使用maven建一个项目...
  • clivially
  • clivially
  • 2013年05月03日 09:26
  • 338

浅谈spring mvc和struts的比较

SpringMVC是与Struts比较
  • u012596826
  • u012596826
  • 2016年07月29日 12:06
  • 190

struts2基于注解的配置Demo

应同学要求,给找个Struts2基于注解的小例子,本以为网上有好多,结果她说不好用,我自己毕业后就没用过Struts了,试着在网上找了一些,果然项目都不能很好的运行,于是决心自己写个小Demo,也算给...
  • xiaokailele
  • xiaokailele
  • 2015年09月17日 20:52
  • 1177

Java Web传统SSH框架与JFinal框架比较

1.SSHIntroduction SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多...
  • daijin888888
  • daijin888888
  • 2016年03月04日 10:49
  • 1427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebWork2与Struts比较
举报原因:
原因补充:

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