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 我都用过并且做过项目,我想在这个问题上我还是有点发言权的 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文件了吗?!讨论讨论而已,不要太当真哦,看到了吗(大话西游). |
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 上,找找 这里提醒一点: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 |