Topic: Struts VS Turbine (原创)

  Print this page

1.Struts VS Turbine (原创) Copy to clipboard
Posted by: jianhua23
Posted on: 2003-03-19 09:54

Struts VS Turbine (原创)

Struts 和 Turbine 我都用过并且做过项目,我想在这个问题上我还是有点发言权的Smile
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 页面中也会用相关的导航.
<form action="$link.setPage("Test.vm").setAction("Hello") name="aform">
和 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 所有的类和方法,极好的示例代码哦

2.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: tier3
Posted on: 2003-03-19 15:43

tomcat 的administration tool 里的用户名和密码是什么呀,
我试了在tomcat_user.xml里加用户,role是tomcat_admin,没有用,
另外我看了admin的源码,他没有用最新的dispatchaction类,应该不算最新的struts应用。

3.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: jianhua23
Posted on: 2003-03-20 08:52

Role 的名字应该是 admin.

tomcat_user.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="root" password="8888" roles="admin"/>
</tomcat-users>

用 Root 登陆就可以了

4.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: jianhua23
Posted on: 2003-03-20 08:56

Administrator Tools 的所有实现代码是在:
c:\Tomcat\server\webapps\admin 目录下的,使用的Struts版本应该是1.0.2
看到了c:\Tomcat\server\webapps\admin\WEB-INF 下的 struts-config.xml文件了吗?!讨论讨论而已,不要太当真哦,看到了吗(大话西游). Smile

5.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: tier3
Posted on: 2003-03-20 09:59

登录成功,谢谢。

6.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: tier3
Posted on: 2003-03-20 10:03

我用的是tomcat4.1.18,
与admin同一级的还有一个manager web application,
D:\jakarta-tomcat-4.1.18\server\webapps\manager\
我尝试用同样的用户名和密码却登录不了manager,为什么呢?
关于tomcat_user.xml的文档在哪里?
谢谢。

7.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: jianhua23
Posted on: 2003-03-20 10:50

关于 manager 的说明你可以看:
http://127.0.0.1:8080/tomcat-docs/manager-howto.html
的文档.
而关于 tomcat_user.xml 的说明在一个只要打开 Tomcat 就能看到的地方
http://127.0.0.1:8080/index.jsp 上,找找 Smile
这里提醒一点:Tomcat 4.1.18 默认的 Server.xml 文件是配置了它的 Example 例子的,注意 c:\Tomcat\conf\ 下的一个 server-noexamples.xml.config 文件,
将 server.xml 改成为 server.xml.bak 而将这个文件改成 server.xml,在开一下 tomcat administrator tools 有变化吗?!
好多 web application 的问题就在这里,你有过 tomcat 一闪而过的经历吗?!这是一个重要原因,你的 Application 和 Tomcat 的 Application 冲突.
好了,好像我们讨论的话题应该在 Application Server 板块中才对啊?!:-)

ps:斑竹,这可不能怪我啊!!

8.Re:Struts VS Turbine (原创) [Re: jianhua23] Copy to clipboard
Posted by: floater
Posted on: 2003-03-21 01:11

Hehe, no problem, you are helping others.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923