淺談Struts2與Webwork的不同和相同點(diǎn)
Struts 2是Struts的下一代產(chǎn)品。是在 struts 和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并,全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)的差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來(lái)處理用戶(hù)的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開(kāi),所以Struts 2可以理解為WebWork的更新產(chǎn)品。
Struts和Webwork同為服務(wù)于Web的一種MVC框架,從某種程度上看,Struts2是從WebWork2上升級(jí)得到的。甚至Apache的官方文檔也講:WebWork2到Struts2是平滑的過(guò)渡。我們甚至也可以說(shuō)Struts2就是WebWork2.3而已。在很多方面Struts僅僅是改變了WebWork下的名稱(chēng)。Struts2對(duì)應(yīng)的有自己的標(biāo)簽,并且功能強(qiáng)大。Webwork也有自己的標(biāo)簽。
在很多方面,Struts 2僅僅是改變了WebWork下的名稱(chēng),因此,如果開(kāi)發(fā)者具有WebWork的開(kāi)發(fā)經(jīng)驗(yàn),將可以更加迅速地進(jìn)入Struts 2的開(kāi)發(fā)領(lǐng)域。
下面是Struts 2與WebWork命名上存在改變。
Struts 2和WebWork成員名稱(chēng)的對(duì)應(yīng)表:
除此之外,Struts 2也刪除了WebWork中少量特性:
AroundInterceptor:Struts 2不再支持WebWork中的AroundInterceptor。如果應(yīng)用程序中需要使用AroundInterceptor,則應(yīng)該自己手動(dòng)導(dǎo)入WebWork中的AroundInterceptor類(lèi)。
富文本編輯器標(biāo)簽:Struts 2不再支持WebWork的富文本編輯器,如果應(yīng)用中需要使用富文本編輯器,則應(yīng)該使用Dojo的富文本編輯器。
IoC容器支持:Struts 2不再支持內(nèi)建的IoC容器,而改為全面支持Spring的IoC容器,以Spring的IoC容器作為默認(rèn)的Object工廠。
希望本文對(duì)你有幫助。
【編輯推薦】