Struts的后代:Shale不是Struts
2008-01-05 10:13:30 来源:WEB开发网Shale 不是什么?Shale 不是打包好的、有编制好的文档并经过严格测试的产品,也没有附带自动安装程序和优雅的治理界面。那么 Shale 到底是什么呢?Brett McLaughlin 在本文中将揭开这个 Struts 后代的面纱。在本文中,Brett 解释了 Shale 是什么,Shale 与 Struts 框架的不同之处,以及如何在开发环境中安装和设置它。
在过去 5 年间出现的所有 Web 框架中,Jakarta Struts 是 java™ 开发人员使用得最多的一种框架,因此其后代的问世是一件值得注重的事情。虽然 Shale 还不是最流行的框架,也不是最为人熟悉的框架,但是出自名门的背景仍给人以深刻印象。更令人兴奋的是,Shale 并不仅仅是 Struts 的重大升级和新的发行版:它彻底更新了 Struts 中的很多核心原则,并且加入了 Web 开发中最新的思想。
您将了解到,Shale 与 Struts 的背离是一柄双刃剑。一方面,Shale 是经过精心设计的 Struts 的后代。Shale 的创立者综合考虑了 Struts 的优点和不足,提出可与其前辈媲美的下一代框架。另一方面,正如您很快就可以在这个系列中看到的一样,Shale 是 一种完全不同于 Struts 的框架,其中隐含着很多新的开发工作!
Shale 不仅仅是 Struts 的又一个修正版,它已扩展到超出 Struts 所能达到的高度。它包含 Java Web 程序设计中一些最重要的、最近的开发成果,包括 jsp Standard Tag Library(JSTL)和 JavaServer Faces(JSF),并建立在这些开发成果之上。Shale 完全应该被看作是与 Struts 不同的一种框架,在这个系列中,我将还 Shale 框架以本来面目。在这个月的文章中,将首先对 Shale 与 Struts 之间的区别作一个概述,然后带您体验安装 Shale 并测试安装情况的步骤。最后,我将给出一些思想,令您能进一步参与到 Shale 项目(它是开放源码的)中,并提供一些相关的信息。整个系列的目的就是要向您展示如何安装 Shale 以及如何使用 Shale 构建和开发项目,同时很少涉及 Shale 的前辈,即 Struts 框架。
评价 Shale
任何新的 Web 开发框架要想在这个竞争已经很激烈的领域占得一席之地,最好能够经受住巨大压力下的评测。好消息是,Shale 独力经受住了细致的考察。但是,坏消息是,由于 Shale 完全是对 Struts 重新构建的产物,因此必须重新编写和重新测试您所有基于 Struts 的代码,以便实现这些代码。您将花同样多的精力来编写一个新的 Shale 应用程序,或将一个 Struts 应用程序转换成 Shale 应用程序,就似乎 Shale 与 Struts 完全无关一样。
所以接下来我们忍不住要问,为什么还要采用 Shale 呢?为了得出答案,我首先解释一下 Shale 的伟大之处 —— 这在很大程度上是由于它的 Struts 血统,但这又不是惟一的原因 —— 然后讨论 Shale 之所以没有 被发布为 Struts 框架的重要修正版的两大原因。这样,您就会更好地理解从 Shale 身上可以得到什么,这将有助于评价使用这种下一代的框架是否值得。
Struts 血统
Shale 重用了大量的 Struts 代码基,并声称 Struts 是它的 “父” 框架,因此假如您要相信 Shale 的价值,就得相信 Struts 的价值。首先,Struts 作为第一个真正意义上的 Web 开发框架,拥有巨大的价值。据 Shale 和 Struts 网站报道,第一批代码是在 2000 年 6 月提交给 Struts CVS 存储库的,而Struts 1.0 是在 2001 年末才发布的。当很多开发人员正在艰难地使用 JavaServer Pages(JSP)和不断变化的 servlet 规范时,Struts 提供了一种易于使用的 Model 2 方法来构建基于 servlet 和 JSP 的 Web 应用程序。换句话说,Struts 使 Web 开发人员可以开发健壮的 Web 应用程序,而不必精于日志记录、分布式计算、JDBC、Servlet、JSP、JNDI、RMI 和 大量其他的 API 和技术。
接下来,Struts 要做的事情就是保持它的强大性:从写出第一批代码开始,Struts 连续 6 年一直是最流行的 Web 开发框架之一。至今它仍然是人们口中的谈资,笔下的素材,使用得不比任何竞争对手少。由于 Struts 是如此流行,如此长寿,如今它已经有丰富的功能,有良好的文档,被广泛地支持,并且易于使用,在它上面进行开发和治理也很轻易。数千名开发人员对 Struts 邮件列表上的问题作出答复,数万名开发人员试用 Struts 并报告问题,这使得这些问题很轻易得到修复。
最后,Struts 是不断发展的。很多框架一开始比较强大,然后就停滞不前(商业产品和开放源码项目都存在这样的现象),而 Struts 总是不断提供新的特性。当您下载 Struts 时,核心发行版中还包含一个健壮的确认引擎(validation engine),并且 Struts 已经与 JavaServer Faces 集成,拥有广泛的标记库和一个不断发展的 Model 2 架构,其中引入了在分布式 n-层应用程序领域中最新的思想。而且告诉您,Struts 还紧跟程序设计中出现的新模式,例如 IoC(Inversion of Control)。Struts 与 WebWork 和 SPRing 框架自然地集成,后两者都是具有最佳血统的、为使用 Web 开发中的新方法提供入口的框架。
- ››Struts2配置文件中redirect传递中文参数乱码的解决...
- ››StrutsTestCase 简化开发过程
- ››struts 中一些包的详解
- ››struts1与struts2的区别
- ››struts学习1
- ››struts-2.1.8.1+jquery-1.3.2+spring-framework-2...
- ››Struts优缺点及实施经验总结
- ››Struts优缺点剖析
- ››Struts2中的DMI
- ››Struts2入门介绍1 -- Struts2介绍及运行一个简单...
- ››Struts2 redirectAction转向时默认加pass的问题
- ››Struts2.1.6--想用通配符,不容易
更多精彩
赞助商链接