成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>軟件教程>>新聞內容  
關于Struts和Webwork2的比較
作者:佚名 發布時間:2003-12-30 14:59:00 | 【字體:

比較內容

Struts

WebWork2

Action

Struts里面,每一個
Action Class
都需要擴展org.apache.struts.action.Action;這個在Java編程中會引來一些問題,就是關于多種繼承的問題

Webwork僅僅需要implement com.opensymphony.xwork.Action Interface,您也可以implement其它的interface來實現更多的功能,譬如:validate(驗證),localware(國際化)等,當然 webwork2也提供了一個類ActionSupport 集成了以上功能。Developer可以根據需要實現不同的功能。

線程模型

Struts Actions必須是threadsafe方式,它僅僅允許一個實例去處理所有的請求。所以action用到的所有的資源都必須統一同步,這個就引起了線程安全的問題。

Webwork 2 actions每一個請求對應一個action,因此沒有線程的安全問題。實際上Servlet 容器對應每一個請求會產生許多Object,這種一個請求產生許多object的例子沒有證明對性能產生太多的影響。現在Web容器都是這么處理Servlet的。

Servlet的依賴

Struts處理一個Action時候必須要依賴ServletRequest and ServletResponse。所以這一層擺脫不了Server容器。而serveltRequest可能會被web層的Context使用。

Webwork2 每一個action不依賴任何層和任何容器。他們使用Requestresponse是通過ActionContext,所以這個對于邏輯層的分離是很重要的。

測試

因為Struts的每一個action都必須用到requestresponse所以都必須通過web層來進行測試。這就導致了許多測試struts都要通過web容器(盡管現在有許多測試方法cactus mock 等)。

Webworkaction能夠通過賦予一定的屬性。就可以執行。同時您可以使用一個mock的實例去測試,而不是通過啟動web容器來進行測試。

FormBean

Struts 需要一個FormBeans針對每一個Form。而使用DynaBeans實際上沒有太大的意義。不能夠很好的處理現有的模型。

Webwork 能夠動態的收集web的數據然后在賦值給bean。同時它還能夠使用FormBean模式。Webwork2還允許現有的ModelDrvien進行導入處理。能夠處理它就像處理action自己的屬性一樣。

前端表達語言

Struts大部分使用的是JSTL ELJSP20)去獲得數據的。在Collection上面處理顯得很弱。

Webwork前端可以使用JSTL同時也可以使用多種表現形式。譬如:velocity freemaker jspparer xml等等。Webwork2 利用ongl建立一個valuestack來搜集數據

類型的轉換

Struts FormBeans把所有的數據都作為string類型。得到一個自己需要的類型然后展示給用戶是很困難的。

Webwork2 數據都是轉換成Java中的類型。這個根據Form的類型自動轉換。然后操作這些bean十分方便。

Action 執行前和后的處理

Struts處理action的時候是基于classhierarchies,很難在action處理前和后進行操作。

Webwork2 允許您處理action可以通過interceptor,就是在每一個action處理前或者后進行其它操作。

驗證處理

因為strutsFormBean的屬性都被認為是string類型。許多類型的驗證都要進行類型轉換的處理。FormBean對一個驗證鏈的處理顯然不行。

webwork2的驗證采用的是interceptor設計模式。它的這種驗證方式決定了它十分靈活。而且一個驗證可以重復不斷的使用僅僅需要一個XML文件的定義。實際上webwork2的驗證是采用了xwork的驗證框架。

Action的鏈的控制

Struts里面每一個action對應一個處理,如果一個action轉向另外一個action就很困難了。

Webwork使用一個強大的DispatcherChain去處理這個action鏈。很方便的從一個處理到另外一個處理。



文章來源:http://acai.ejb.cn/blog/
 放生
 愚愛
 夠愛
 觸電
 白狐
 葬愛
 光榮
 畫心
 火花
 稻香
 小酒窩
 下雨天
 右手邊
 安靜了
 魔杰座
 你不像她
 邊做邊愛
 擦肩而過
 我的答鈴
 懷念過去
 等一分鐘
 放手去愛
 冰河時代
 你的承諾
 自由飛翔
 原諒我一次
 吻的太逼真
 左眼皮跳跳
 做你的愛人
 一定要愛你
 飛向別人的床
 愛上別人的人
 感動天感動地
 心在跳情在燒
 玫瑰花的葬禮
 有沒有人告訴你
 即使知道要見面
 愛上你是一個錯
 最后一次的溫柔
 愛上你是我的錯
 怎么會狠心傷害我
 不是因為寂寞才想
 親愛的那不是愛情
 難道愛一個人有錯
 寂寞的時候說愛我
主站蜘蛛池模板: 霍林郭勒市| 滁州市| 罗定市| 临猗县| 四平市| 射洪县| 高安市| 文登市| 德化县| 龙海市| 吉水县| 颍上县| 镇雄县| 沂南县| 叙永县| 体育| 贵港市| 广昌县| 达州市| 霍邱县| 曲阳县| 南岸区| 阿坝| 佛山市| 定日县| 阿瓦提县| 沧源| 闵行区| 上犹县| 兖州市| 牙克石市| 中超| 陆河县| 福建省| 同心县| 洪湖市| 沐川县| 铜川市| 商丘市| 马尔康县| 陇南市|