WebWork和Struts的關(guān)系
在學(xué)習(xí)的過(guò)程中,一直對(duì)webWork和struts的關(guān)系不是很清楚,今天打算從網(wǎng)上找找看看,他們究竟有什么樣的區(qū)別和聯(lián)系,下面是從網(wǎng)上找到的一篇關(guān)于他們的文章,寫(xiě)的挺多錯(cuò)的,打算收藏下來(lái)。
首先讓我們來(lái)了解一下Web框架。
Web框架主流上分為兩類(lèi):MVC框架和事件響應(yīng)機(jī)制框架。MVC框架有Struts,Webwork,Spring MVC,以及一些基于這些框架的框架,如Spring Webflow, 如基于Struts的Beehive等;事件框架有JSF,Tapestry,Echo等。除此之外,還有一些連接兩者的框架,如Struts Shale等。
由上面我們知道了Struts和Webwork同為服務(wù)于Web的一種MVC框架,下面我們著重說(shuō)說(shuō)Struts與WebWork它們各自的發(fā)展及它們的關(guān)系問(wèn)題。
Struts的第一個(gè)版本是在 2001年5月份發(fā)布。它提供了一個(gè)Web應(yīng)用的解決方案,如何讓 JSPs 和 servlets 共存去提供清晰的分離視圖和業(yè)務(wù)和應(yīng)用邏輯的架構(gòu)。在Struts之前,最通常的做法是在JSP中加入業(yè)務(wù)和應(yīng)用邏輯,或者在servlets中生成視圖。
自從第一個(gè)版本的發(fā)布, Struts 實(shí)際上已成為業(yè)界公認(rèn)的Web應(yīng)用標(biāo)準(zhǔn)。但隨著時(shí)間的推移,Web應(yīng)用框架經(jīng)常變化的需求,產(chǎn)生了幾個(gè)下一代 Struts的解決方案。其中兩個(gè)可選方案是Shale 和 Struts Ti。 Shale 是一個(gè)基于構(gòu)建的框架,并已成為 Apache 中的重要項(xiàng)目。而 Struts Ti 則是繼續(xù)堅(jiān)持 MVC模式的基礎(chǔ)上改進(jìn),繼續(xù)Struts的成功經(jīng)驗(yàn)。
WebWork項(xiàng)目是在2002年3月發(fā)布的,它對(duì)Struts式框架進(jìn)行了革命性改進(jìn),引進(jìn)了不少新的思想,概念和功能,但和原Struts代碼并不兼容。WebWork是一個(gè)成熟的框架,經(jīng)過(guò)了好幾次重大的改進(jìn)與發(fā)布。
對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),如此多的框架,過(guò)多的選擇是一種沉重的負(fù)擔(dān),不但需要花更多的時(shí)間去學(xué)習(xí),也需要更多的時(shí)間去維護(hù)基于不同框架的代碼。
又由于面臨著當(dāng)時(shí)dotnet統(tǒng)一的web框架webforms以及異軍突起的rails的強(qiáng)勢(shì)挑戰(zhàn),Java業(yè)界也感受到競(jìng)爭(zhēng)的絲絲寒意,因此,眾多Java Web框架的核心開(kāi)發(fā)人員終坐到了一起,商量著Web框架的統(tǒng)一和互操作的問(wèn)題。
經(jīng)過(guò)一段時(shí)間的討論,Struts,Webwork和beehive三方宣布合并,共同發(fā)展下一代MVC模式的MVC框架……Struts Ti。它將主要以Webwork為核心,集成Beehive的annotataion和pageflow功能,推向Struts用戶(hù)群體,并且加強(qiáng)和JSF的集成能力。
在2005年12月,WebWork與Struts Ti決定合拼, 再此同時(shí), Struts Ti 改名為 Struts Action Framework 2.0,成為Struts真正的下一代。
之后它們各自官方的說(shuō)法分別是:WebWork是由OpenSymphony開(kāi)發(fā)的MVC模式的J2EE Web框架。 目前已經(jīng)捐獻(xiàn)給Apache組織繼續(xù)開(kāi)發(fā),命名為Struts2;而Struts則說(shuō)“Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts 2.”即大意為“Apache Struts 2即是之前大家所熟知的WebWork 2。在經(jīng)歷了幾年的各自發(fā)展后,WebWork和Struts社區(qū)決定合二為一,也即是Struts 2。”
Struts與WebWork都為WEB框架,或多或少都有異同之處,以上只是表面上的一個(gè)關(guān)系,具體內(nèi)部的應(yīng)用將在以后深入學(xué)習(xí)應(yīng)用后給出。
posted on 2008-03-18 10:59 forgood 閱讀(517) 評(píng)論(0) 編輯 收藏