用了webwork1.5年时间,也用了tapestry1年的时间,总结了一下他们之间的一些优点和缺点
一、从设计角度上说
tapestry是优秀的面向组件开发框架
webwork只是一个优秀的面向标签封装的开发框架
但虽然说是tapestry是面向组件开发的框架,当一个公司开发一套系统的时候,讲究的时间效率,上层管理才不管你是开发组件还是标签,他要的是的最快开发速度,前提是不出现bug,而往往一个功能最快的开发速度是使用通用的标签与简单的编码,而编写组件,说白了就是自定义标签,只不过这个标签的功能很大,封装了很多公用的业务代码,而这些东西不仅仅要有良好的设计方案以及明确的详细需求,还要熟练一个框架的基本原理加上编写组件消耗的开发时间,这样对很多人以及很多公司来说都是致命的,我也相信不会有多少公司会有专门的开发通用组件成员存在,何况tapestry也不是该公司自己研发的
但是面向组件的tapestry用了通用的组件对开发速度的提升不是webwork可替代的,并且已经明确了的组件又减少的bug的出现机率
以上可以说tapestry相对webwork更适应那些开发自身产品的公司
二、从资源管理角度上说
tapestry是单列模式的管理资源,是线程不安全的
webwork是线程安全
webwork对servlet的请求是通过比较上层的context进行读取的,这点tapestry是不可比拟的,这样tapestry在写业务方法的时候自然相对webwork而言方法一般都回很长,而且tapestry的action跳转控制里面是不应该定义内部成员,这样也会给开发带来一点的方便,而且阅读也不是很好,而且不熟悉tapestry的人进行开发就会出现一些意想不到的bug以及性能问题,我们公司就出现了这些问题,还好他们刚出现问题就聘请到了我=======满足一下自己的虚荣心
三、从读取数据角度上说
tapestry与webwork都是支持ognl标签
因此很多人说tapestry的jwcid标签简单而webwork的ww或者struts2的s 标签复杂难懂,其实他们是一样,不要因为改了名字就不认人了
四、从view层编写上说
tapestry是采用人们熟悉简单的html格式
webwork是采用java同志们熟悉的jsp格式
或许是html格式的原因的,很多人都说tapestry支持html,方便美工合作。其实我个人理解这是不对的,tapestry只是采用这种编写方法而已,最终还是跟jsp一样还是要生成servlet,但tapestry更优秀点地说他直接生成asci码的html,也正是这种asci码也造就了tapestry在某些方面就会出现一定的性能问题,如,当界面上需要显示大量的数据,如下拉框里放入俩百个对象,那么tapestry生成的asci码就会非常之大使得单个文件的html超过了80k=======80k都是个人感觉这个应该在http传输协议应该有影响,也希望会的人指教一下。所以过大的文件在b/s模式中是很影响效率的
然而webwork采用的是jsp,或许在很多人看来不方便工作合作,我倒是纳闷了,难道开发b/s模式采用java语言的人都不熟练jsp吗
分享到:
相关推荐
此软件介绍webwork and struts and jsf的区别
Tapestry也是apache公司推出的,但个人认为是极其难使的,而且版本之间的差别较大,文档也不是很多,使用较费劲,而对于Struts而言,相信不少人都清楚,毕竟Struts已经成功的成为了MVC框架的一个标准,如果不去搞...
4. **Comparisonto Struts**:与第一代Struts相比,WebWork/Struts2具有更好的扩展性和灵活性。 5. **Comparisonto Tapestry**:Tapestry更注重于页面的构建,而WebWork更侧重于业务逻辑的处理。 #### 五、版本升级...
#### 二、Struts1与Struts2的主要区别 - **配置组件**: - **Struts1**:使用ActionServlet作为入口点,并通过struts-config.xml进行配置。 - **Struts2**:采用StrutsPrepareAndExecuteFilter作为过滤器,并通过...
标题提及的"struts2文档"是指关于Apache Struts 2框架的官方或第三方技术文档,这类文档通常包含丰富的信息,帮助开发者理解和使用这一框架进行Web应用开发。Struts 2是Struts 1的升级版,它吸收了WebWork框架的许多...
Struts 2与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Strut2没有继承Struts 1的血统,而是继承了WebWork的血统。...
根据提供的文件信息,我们可以深入探讨Struts2框架及其在MVC架构中的应用,以及与其它MVC框架(如JSF、Tapestry和Spring MVC)的对比分析。 ### Struts2框架简介 #### 1. MVC架构概览 Struts2是基于MVC(Model-...
#### 二、Struts2与Struts1的关键区别 1. **实例管理**:Struts1中Action是单例模式,而Struts2采用多实例模式,提高了线程安全性和性能。 2. **Servlet API依赖**:Struts1的Action类与Servlet API紧密耦合,限制...
#### 七、Struts2 与 WebWork 的关系 **WebWork** 是另一个早期的 Java Web 框架,后来被 Struts2 吸收并融合。Struts2 继承了 WebWork 的很多优点,如: - **动态方法调用**:支持根据请求参数动态调用 Action 类...
#### 一、Tapestry简介及其背景 Tapestry是一种用于构建高度可伸缩且易于维护的Web应用程序的Java框架。它最初由Howard Lewis Ship开发,并于2000年发布。Tapestry的设计理念是为了简化Web应用的开发过程,通过提供...
Struts2是一个基于MVC(模型-视图-控制器)设计模式的Java Web应用程序框架,由Struts1和WebWork发展而来。它提供了一种结构化的解决方案,使得开发者能够更有效地构建可维护、可扩展的Web应用。MVC模式将应用分为三...
此外,WebWork与其他知名的Java Web框架,如Spring Web Framework、Struts、Tapestry和JSF等相比,各有其特色和适用场景。例如,Spring框架提供了全面的解决方案,而Struts拥有丰富的资源,Tapestry以其组件化见长,...