上QQ阅读APP看书,第一时间看更新
3.2 Struts2的由来
经过多年的发展,Struts已经成为一个高度成熟的框架,不管是稳定性还是可靠性,都得到了广泛的证明。在国内,Struts是使用最广泛的一个框架,也成为Java程序员的一项基本技能。但毕竟Struts诞生于很多年前,近期Ajax、JSF技术的兴起,原有设计上的缺陷成为它的硬伤,Struts有点跟不上时代的步伐。
大量新的MVC框架成了Struts强大的竞争者,最有代表性的莫过于WebWork。WebWork是由OpenSymphony组织开发的,也是致力于组件化和代码重用的J2EE Web框架。后来Struts与WebWork两大社区决定将两个项目合并,称为Struts2。
仔细考究Struts2的结构会发现,Struts2非常类似于WebWork框架,很多类名中仍然可以看到WebWork的影子。因为Struts2是以WebWork为核心而不是以Struts1为核心的。正因为此,许多原来的WebWork开发者会发现,从WebWork过渡到Struts2是一件非常简单的事情,当然社区也给出了由Struts1过渡到Struts2的解决方案。
图3.1 Struts2图标
可能是因为Struts的名声实在太大的缘故吧,名称上仍然叫做Struts,但核心技术却用的是WebWork,看来两大社区是各退一步做的妥协。Struts2的官方网站上给出的升级示意图也说明了Struts2的由来,如图3.1所示。