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 所有的类和方法,极好的示例代码哦
分享到:
相关推荐
【Turbine 事件映射机制与 Struts 功能扩展】 在Java Web开发中,Struts和Turbine都是常见的MVC框架。Struts因其易用性和丰富的社区支持而广泛采用,而Turbine虽然相对复杂,但在某些方面,如事件映射机制,提供了...
与EJB和Struts相比,Turbine在特定场景下可能更为适合小型到中型的Web应用,尤其是考虑到EJB的复杂性和学习曲线。 在EJB和Struts的比较中,EJB以其容器化、组件化和分布式特性吸引开发者,但适合大型企业级应用,...
Velocity 是一个基于Java的模版引擎。它允许web 页面设计者引用...这个项目完成后,Velocity将为Turbine web 应用程序框架提供模板服务。Velocity+Turbine 方案提供的模板服务将允许web 应用按真正的mvc模式进行开发。
Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究... Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制
除了Struts之外,还有其他的基于J2EE的架构方案,例如Turbine、RealMethods等。 #### 四、Struts的起源 Struts最初是作为Apache Jakarta项目的一部分推出的。该项目的目标是改进和提高JavaServerPages (JSPs)、...
Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的... Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
软件开发者们不可能对每个不同的项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案,Struts就是其中之一,Struts是流行的基于J2EE的架构方案,其他常用的基于J2EE的架构方案还有Turbine、...
Struts框架由Turbine项目中的核心部分发展而来,由Craig McClanahan在2000年创建。Struts之所以开源,是为了促进社区的发展和共享,通过开放源代码,开发者可以更好地理解和改进框架,从而推动技术的进步。Struts之...
struts: Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib 解压...
从文件提供的信息来看,本篇文档主要介绍和比较了几个流行的Java Web开发框架,如WebWork、Struts、Tapestry、Eclipse、Jakarta Turbine、SiteMesh和Spring MVC等。 首先,文档提到了WebWork,这是一个基于MVC架构...
7. Web应用开发工具与技术:文档还提到了在构建Java Web应用时可能使用的一些工具和技术,例如Tomcat服务器、Turbine框架以及Struts的标签库(Taglib)。 8. 具体实现:文档描述了网上书城项目的具体实现细节,包括...
J2EE三大框架SSH面试的常见问题 SSH优缺点 1.struts struts框架具有组件的模块化,灵活性和...Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。
- **简述**:Turbine同样是Apache基金会下的一个开源项目,它基于Servlet技术,采用了插件式的架构设计,允许开发者通过插件的形式添加新的功能模块。这种设计方式使得Turbine具有很高的灵活性和扩展性。 ##### 4. ...
Turbine是一个用于Web应用开发的Servlet框架,是Velocity引擎的一个扩展。 iBATIS是一个Java数据访问框架,提供了简单的SQL映射和强大的数据类型处理。 OGNL(对象图导航语言)是一种强大的表达式语言,用于在Java...
本文主要介绍了Java Web开发中Struts框架的一个扩展——Tiles框架,以及如何通过Tiles来实现页面的布局和重用。Tiles框架允许开发者将一个网页拆分成多个部分,如头部、菜单、尾部和主体内容,从而提高代码的复用性...