经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。
Java B/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts 1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。
在2007年CSDN举办的调查中,我们详细的分析了Java开发框架的使用状况,发现主要使用的开发框架JSP占26%,Struts占21%,Hibernate占17%,Spring MVC占11%,EJB占7%,JSF占6%,Spring Web Flow和POJO各占4%,其它占4%。就这一调查数据,我们不难看出,Spring+Hibernate+Struts的优势地位还是相当的明显。
Struts和Hibernate几乎已经成了JavaEE应用的常规配置,21%的开发者用到 Struts,用到Hibernate的开发者也有17%;在一个成熟的技术平台上,各个项目的技术方案会在很大程度上趋同——因为所有未知领域都已经被探明,各种问题都有对应的最佳实践,架构师们可以参考的成功案例越来越多。就拿 JavaEE来说,今天的架构师们需要考虑的问题比之三年前已经简单多了,这就是成熟的价值。
有专家评论:“其实IT应用技术,什么新鲜玩意并不难学,难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的占重要地位,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。
Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那为什么用Struts?原因在于100个人写出来的 JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在Java Web层的规范化方面所做出的贡献。
然而长江后浪推前浪,Struts 1.x的技术缺陷毕竟是隐患。Sun力推JSF,打算一雪Web层框架缺失之耻。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。未来两年,JSF与Struts将展开Java Web框架的最终战争。”
JSP经过几年风雨洗礼依然把持头把交椅,看来所有的框架表示层都离不开JSP而存在,而作为JSP的手足兄弟JSF也是仅次Spring之后又一个后起之秀。JSF能否实现JSP的合理过渡我们还要侍目以待,JSF是否能够撼动Struts也是值得我们期待。