您的位置:首页 > 编程语言 > Java开发

Struts VS Turbine

2008-05-23 23:16 190 查看
google_ad_client = "pub-8800625213955058";

/* 336x280, 创建于 07-11-21 */

google_ad_slot = "0989131976";

google_ad_width = 336;

google_ad_height = 280;

//

Struts 和 Turbine 我都用过并且做过项目,我想在这个问题上我还是有点发言权的:-)

Struts 比 Turbine 的结构简单多了,换而言之,Struts 是一个非常纯的 Web Framework,它也仅仅只是一个 Framework.Struts 的官方定义中说了其符合 MVC,我并不是非常认同.Struts 很好的完成了 VC(Visual & Control),但它并没有提供相应的M(Module),或者说不明显.Struts 最好的搭档可能就是 EJB 了,因为 EJB 补充了它的 M.

而 Turbine 则不然,它的设计思路决定了它是一个 Web 应用的完全解决方案.Turbine 并不是十分符合 J2EE 标准.它有自己一整套解决方案,它是一个真正意义上的 MVC 模式框架.它具有大量的子项目来支持它的应用(子项目树仅次于Jarkarta Commons 位居第二)

Turbine 要比 Struts 难理解,难学,但是掌握它是有意义的.如果你只是要写一个 Web App 的话,Turbine 开发要比 Struts 快.

Turbine 支持 Velocity,WebMacro,Cocoon(XSLT) 等等,虽然它也支持JSP,不过它的最最亲密的战友任是 Velocity.

Struts 对于写过 JSP 和 Servlet 的人来说可能会很轻切.Jakarta 项目组的相关项目 Taglibs 提供了大量的 Tag 以支持 Struts,使 Struts 的结构性和统一性变得很好,Struts 的另一个 Turbine 不如的地方是它的 mapping-forward 机制,在 Struts 中是用 struts-config.xml 文件来管理的,虽然随着你的项目的扩大,这个xml文件会变得很大以至于难以维护(一般大的项目中会有专人管理这个文件),但是它的统一性和导航逻辑性比 Turbine 好的多,Turbine 把相应的逻辑以 Velcoity Template 类来控制.在相应的Velocity 页面中也会用相关的导航.

和 Struts 的 struts-config.xml 相比有些乱(不知道 Turbine 3.0 中会不会有些提高).

Turbine 的一个极棒的子项目是 Torque,它提供了一个很好的 JDO 环境,而且 Torque 的机制会将 XML 格式的数据定义编辑成相关数据库的表(支持现在流行的几乎所有的数据库),并编译出和表结构一一对应的Java Class.

Torque 中的 Criteria 和 BasePeer 类具有极高的代码水准,我会在以后的文章中仔细剖析这两个类.

写到这里吧,最近的文章我会针对于 Turbine 做详细的分析和说明.

还有一点很重要,现在 Turbine 支持分布式计算方式(以前批评 Turbine 应用局限性的很重要的理由),这个子项目叫 JCS.
http://jakarta.apache.org/turbine http://jakarta.apache.org/struts
注:大家都用过 Tomcat 吧,在Tomcat 4.1.10 以上版本提供了 Administrator Tools 图形配置界面,这个系统是基于Struts的,看看源代码吧,几乎用到了 Struts 所有的类和方法,极好的示例代码哦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: