`
wangpan80
  • 浏览: 104764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts和webwork双体验

阅读更多

不想过多的争论strutswebwork的优越性,只是自己做了一个小试验。在做试验之前已经用struts做过两个项目了,webwork还是初级学习。
1.使用标签。struts的自定义标签多,学习起来复杂,但同时功能强大。webwork只定义了一个webwork.tld,操作更简单。
2.有效性验证和javascript支持。struts支持客户端JavaScript与服务器端的校验。webwork的客户端校验,欠美观。具说支持javascript但是因为初学,没有试过。
3.strutswebwork都支持velocity.struts的支持是使用velocity tools,webwork则直接将velocity嵌入。比较起来webwork显示更加灵活,配置简单一些。
4.插件的支持。struts作为比较成熟的产品,拥有titles、validator插件,也可自己编写自己的插件,通过struts配置文件加载。webwork实现插件是通过定制component.xml实现。
5.显示方面。struts因为支持titles,布局更加灵活。webwork与velocity切换容易也可以定制不同的显示模板,但是定制过程繁琐一些。
6.hibernate的支持程度。struts通过过滤器和插件实现。webwork有专门的插件:org.hibernate.admin.component.HibernateSessionFactory和org.hibernate.admin.component.HibernateSession
7.模块化开发。struts支持模块化开发,支持switchAction.webwork暂时不知是否支持团队开发,支持action复用。通过定义方法。
8.显示定义formbean.struts需要显示定义 formbean或通过配置文件定义动态属性。webwork不需要定义formbean或相关属性,直接通过拦截器捕获属性。
9.资料获取。struts开源项目,支持者众多,Apache项目文档比较全。webwork相关文档和学习资料较少。

综上所述:个人认为webwork适合初学mvc模式的人,可以快速建立模型。struts为主流mvc实现,资料多,支持者多,前景看好一些。
个人观点仅供参考,进一步交流可以发邮件给我 hyluc88@yahoo.com

 

 

 

这份帖子,我是不想再回,可是又不忍心让更多的朋友对WebWork存在误解。

引用
1.使用标签。

用过WebWork标签库才知道什么叫功能强大,它可以在标签里直接调用Action方法(可以带参数的),
直接访问类的静态属性和静态方法,强大的Iterator标签库。绝对让你爽个够。(我用过Struts的标签库,JSTL,
都不能完全满足要求,直到我用了WebWork的标签库,后来才知道WebWork为什么一直保留自己的标签库。在这里也感谢王盛
将我的Groller-ww中的JSTL用WebWork标签库替换)。

引用
2.有效性验证和javascript支持。

我首先申明WebWork是支持客户端javascript验证的,但在2.1版本中还不是很成熟,相信后面
的版本会有很好的改进。对效性验证更多看你是如何处理,我想最常用的就是自己写Javascript.如果在程序中做有效性验证,
WebWork的验证才是真正的灵活。
引用WebWork教程:
WebWork提供了在Action执行之前,对输入数据的验证功能,它使用了其核心XWork的验证框架。提供了如下功能:
1、 可配置的验证文件。它的验证文件是一个独立的XML配置文件,对验证的添加、修改只需更改配置文件,无需编译任何的Class。
2、 验证文件和被验证的对象完全解藕。验证对象是普通的JavaBean就可以了(可以是FormBean、域对象等),它们不需实现任何额外的方法或继承额外的类。
3、 多种不同的验证方式。因为它验证功能是可以继承的,所以可以用多种不同的方式指定验证文件,比如:通过父类的Action、通过Action、通过Action的方法、通过Action所使用的对象,等等。
4、 强大的表达式验证。它使用了OGNL的表达式语言,提供强大的表达式验证功能。
5、 同时支持服务器端和客户端验证。

引用
3.strutswebwork都支持velocity。

我想这就不用解释了,WebWork最好。

引用
4.插件的支持。

Struts相关的插件确实很多,可是真正你用的又是多少?感觉就象是在打补丁。WebWork的插件应归功于它的
拦截器(AOP编程),它的很多功能框架都是通过拦截器来组装的,例如:验证、国际化、Ioc等。与其它项目的集成,
例如同Spring的完美组合都离不开拦截器的功劳。

引用
5.显示方面。

WebWork使用强大的OGNL做为它表达式语言,它展现和存取整个对象结构的能力实在是太强了。特别是你用Hibernate
Open Session in View,这时你一定会爱死WebWork的。

引用
6.hibernate的支持程度。

我想WebWork绝对是最好支持hibernate的J2EE Web框架。当然,如果用Spring对hibernate包装会更好。

引用
7.模块化开发。

我的帖子:
http://forum.iteye.com/viewtopic.php?t=6529
WebWork2真正彻底解决了这些问题.它是用package和namespace来实现真正的多模块.

package:它很类似我们Java程序的包(package),我们可以把每个模块定义成一个package,这一点与Struts的模块有些相似,但package的功能更强大,它可以继承在它上面的package,获得父package的global results、interceptor、interceptor-stack、action等所有配置.我们可以把每个package写成一个独立的配置文件,例如:module1-xwork.xml(文件的名称没有任何限制),在xwork.xml中只要通过
<include file="module1-xwork.xml"/>引用即可.
但要注意:WebWork的配置文件xwork.xml是安装文件内容顺序(从上到下)读取的,如果你的package继承了一个父package,那么这个父package必需在它之前定义.

namespace:它是package的命名空间,它用来分隔不同package定义的action,让这些action处于不同的命名空间(namespaces)。
这样,我们不同的package可以有相同的action命名,因为可以通过命名空间来区分。如果不指定namespace,默认的是空字符串。
命名空间也可以被用在安全控制方面,它可以根据不同的命名空间指定不同的访问权限。
...................................

引用
8.显示定义formbean。

Struts的FormBean是公认的败笔,WebWork会让你爽个够。

引用
9.资料获取。

struts确实占优势。

引用
综上所述:

WebWork简单、灵活、高效。Struts笨重、复杂、不够灵活。如果想更好的提供开发效率,WebWork是你最好的选择,
项目越大越负责越能体现WebWork的优势。

分享到:
评论

相关推荐

    Struts2 WebWork的更新产品

    Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品

    struts2与webwork2

    struts2与webwork2之间的联系与区别

    Struts2 WebWork 2.0 Tags API 中文文档 [CHM]

    Struts2 WebWork 2.0 Tags API 中文文档 [CHM] webwork提供了一套不依赖于显示层技术的标签库。这一章我们将概括性的描述每一个标签, 比如此标签支持的属性,标签的行为等等。 大多数的标签都可以用于所有的模板...

    Struts2权威指南完整版

    当Struts2框架诞生后,完全取代了原有的Struts和WebWork框架,Struts2的开发团队将由Struts和WebWork两个团队组成,这保证了Struts2的开发团队更加强大.而且WebWork不再推出新版本,因此,实际项目开发中原来使用Struts和...

    STRUTS和WEBWORK在VALIDATE的区别

    NULL 博文链接:https://haroldxie.iteye.com/blog/734366

    开发框架struts2.1.8.zip

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。

    Struts2-Webwork2-DWR

    WEB2.0相关技术,深入浅出Struts2,Webwork2开发指南,DWR中文文档

    struts与webwork的jar包无冲突版 自定义标签无冲突

    有时候会出现unix环境下不支持s:select标签,实际上是struts的自定义jar包与webwork之间有冲突。此文件是合并后的,无冲突版

    struts2对webwork的改进

    struts2对webwork的改进struts2对webwork的改进

    struts1,struts2,webwork,线程安全问题

    struts1,struts2,webwork,线程安全问题,easy518网 http://www.easy518.com/

    dom4j、common-fileupload、hibernate、jdom、log4j、proxool、spring、struts、webwork等工具、框架源码

    dom4j、common-fileupload、hibernate、jdom、log4j、proxool、spring、struts、webwork等工具、框架源码

    struts2建立流程

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    Struts2.1权威指南——基于WebWork核心的MVC开发.zip

    《Struts 2.1权威指南》凝聚了作者大量的实际开发经验和感悟。作者依照读者的学习规律,首先介绍基本概念和基本操作,然后对内容进行深入讲解。 2.讲解具体,示范典型 书中通过大量的示范性实例(全书范例近百个),...

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    [Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版) 1/12

    第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...

    struts2学习文档

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理...

    struts2 常用的五个jar包

    是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得...

    Struts 2中文帮助文档

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    struts-2.3.1.2.zip

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

Global site tag (gtag.js) - Google Analytics