文档介绍:Struts的来龙去脉
Struts 的承诺是:以更快的速度开发更好的软件。这个契约包含两点。其一是开发的速度。如果你使用Struts 开始一个新项目,你将会有一个非常好的开端。
Struts 提供了一个简单易用的开发模型,这个模型内建了很多东西以免你另外开发。如果开始一个项目而不使用Struts,你只有从头开始,这将花掉你几个星期的时间,才能达到Struts 已经提供给你的起点的程度。使用Struts 能节省你的时间——很多时间。其二,Struts 能帮助你交付更好的软件。Struts 是由一群该领域中最好的并且最具经验的开发者们建立
的。它经过了世界上成百(甚至上千)开发者逐个地严格测试。当代码在如此多双眼睛的注视下时,发现bug也就变得非常迅速。不言而喻,目前Struts 已经是一个非常稳固的框架(framework),并且它实现了许多软件开发中的最佳实践(best practices)。
木匠的寓言
任何一个人,哪怕他只是曾经接触软件集成行业一小段时间,都可以证明这样一个真理。当你在项目开始时,或在配备工具箱来为你的开发努力提供基础时,所做的选择是至关重要的。
想象一下你要建造一间房子。你有一个2×4 的音箱要挂到横梁上。有的人没有锤子,可能会抓起临近的大石头就挥汗如雨地开始了。有的人不信任商店里买来的锤子,于是架起火炉锻铸属于他们自己的锤子,来满足其精确的规格要求。还有的人可能会跑到他们本地的五金商店,买一把他们能够得到的最高档的激光制导电池供电的自动锤。最后,一个有经验的木匠会从腰间拿出他所信任,如同长在自己手臂上的锤子,将钉子径直地钉进去并准确无误。
依此类推到软件工程师,情况也是一样的。有些人使用最初级的工具,可能这些工具也会完成工作。(你大概会发现他们依然使用由C 编写的CGI 脚本来实现Web 站点,不过那些原始地使用JSP 的人们也正在快速加入他们的行列。)还有人固执地采用他们自己的方法来创建应用程序的底层结构,不管这些方法与竞争者相比是多么的糟糕。你还可以发现有些人醉心于最新的(通常也是最贵的)、有着响亮名字的产品。最后你会发现那些老手,他们有一个军械库,其中都是经过长期、稳健开发的可靠的工具。
使用工具集(或者框架)的好处是,你将从别人已经付诸其中的工作中受益,这些人和你一样在解决你所遇到的同样的问题。你通常都能够得到很大的提升,因为大量繁琐的工作已经为你完成了。举例来说,学习一个已有的数据库连接池的包,大概比你自己编写一个会快得多。
Struts 就是这样的一个框架。它是针对使用Java 开发Web 站点过程中一个日益普遍的问题而开发的。当一个站点日趋复杂时,维护各种JSP 页面之间的关系、维护后台业务逻辑、维护表单(forms)以及验证(validations)变得越来越困难。结果是很多JSP 站点最后不得不寿终正寝,因为Web 看上去已经等同于意大利面条式代码了(译注:Spaghetti Code,贬义,意指包含复杂庞大控制结构、杂乱无章的代码,特别是大量使用GOTO 语句的代码等等)。
但是Struts 并不仅仅是一个框架,可以让你快速入手。它还是一个最佳实践的集大成者。
为什么当世界上最好的(至少照字面上看来)JSP 开发者经过艰苦工作为你指明了道路时,还要建立你自己的一套呢?