天天看点

(一)Struts2.x简介

        前提是:Struts1.x和Struts2.x没有任何的关系,属于两个独立的版本,那么为什么会出现两个独立的版本原因还是在于Struts1.x的设计结构上.在成名的MVC开发框架里面,Struts最早出现的,但是由于最初的设计环境没有考虑到这么复杂,所以来讲到了今天与其他框架整合会出现非常麻烦的问题,而且也存在有性能问题,同时自己本身的设计结构也出现了混乱,例如:如果想要使用验证框架(无用)那么必须使用第三方扩展包的形式,或者说如果要将对象实例交由Spring管理,那么也需要以插件的形式出现.

        这种种的一切几乎都在暗示着,Struts1.x无法胜任与今天的开发,但是这个时候Apache也并没有开发Struts2.x.任何食物的发展都是相生相克的.Struts1.x发展带来了框架的繁荣,那么这个繁重之后在某一个"角落"里面慢慢生长出一个新的框架==WebWork(ww),最早在整个Java行业里面有一个特别著名的开源项目--JIVE论坛,它融合了一个特别有意思的特点--使用当前最新的开发技术,而WebWork就正好应用在此处,而随着Struts1.x的缺陷,越来越明显,而Web'Work的优势越来越突出,长此以往下去,Struts1.x已经丢失了大量的开发者,很多的开发者都转向了WebWork,它比Struts1.x优秀在以下几点:

        ●避免了Sturs1.x之中ActionForm类与Action类必须存在的窘境;

        ●在WebWork发展的时候考虑到了与第三方框架的整合,所以它可以轻松的实现与Spring的整合,

        ●WebWork的配置更加的灵活;

        ●在验证框架部分要比Struts1.x更加容易(这个也没有什么用)

        在2005年的时候,Apche收购了WebWork项目,因为WebWork足够好用,但是没有Sturuts的名气大,而Stuts本身问题很多,那么需要重新开发,所以Struts1.x的名气+WebWork的实干=Struts2.x,而在收购初期,Struts2.x并没有对WebWork做更多的修改,但是千万要记住从2005年JDK1.5出现了,而JDK1.5出现所带来的行业内的巨大变革在于Annotation的技术应用,在Sturts2.x里面全面支持Annocation的配置以简化程序的编写.

        Struts2.x的基础是WebWork,但是请千万要记住一件事情,WebWork的起源也很早,只不过它凭借着自己的超前的结构设计,才可以在今天继续发挥余热,但是Struts1.x,Struts2.x,JSF等等,随着时间的沉淀,会依然发现不如Spring MVC的设计更加优秀,

        所有的框架设计思想直来源于一点--反射机制,如果再有其他的核心技术也就是XML+DOM4J.

总结

        框架的学习不在于使用,而在于理解它的设计思想.

继续阅读