一、struts1要求action類繼承乙個抽象基類,而不是介面。
struts2的action類可以實現乙個action介面,也可以實現其他介面。
二、sturts1 action是單例模式,執行緒是不安全的。
struts2 action執行緒是安全的,action為每乙個請求都生成了乙個例項。
三、sturts1過去依賴serlet api,不容易測試。
struts2不依賴於容器,允許action脫離容器單獨被測試。
四、struts1 使用actionform物件捕獲輸入。所有的actionform必須繼承乙個基類。
struts 2直接使用action屬性作為輸入屬性,消除了對第二個輸入物件的需求。
五、struts1 整合了jstl,因此使用jstl el。這種el有基本物件圖遍歷,但是對集合和索引屬性的支援很弱。
struts2可以使用jstl,但是也支援乙個更強大和靈活的表示式語言--"object graph notation language" (ognl).
六、struts 1使用標準jsp機制把物件繫結到頁面中來訪問。
struts 2 使用 "valuestack"技術,使taglib能夠訪問值而不需要把你的頁面(view)和物件繫結起來。
七、struts 1 actionform 屬性通常都是string型別。struts1使用commons-beanutils進行型別轉換。
struts2 使用ognl進行型別轉換。提供基本和常用物件的轉換器。
八、struts 1支援在actionform的validate方法中手動校驗,或者通過commons validator的擴充套件來校驗。
struts2支援通過validate方法和xwork校驗框架來進行校驗。
九、struts1支援每乙個模組有單獨的request processors(生命週期),但是模組中的所有action必須共享相同的生命週期。
struts2支援通過***堆疊(interceptor stacks)為每乙個action建立不同的生命週期。堆疊能夠根據需要和不同的action一起使用。
Struts2與Struts1的區別
struts2其實並不是乙個陌生的web框架,struts2是以webwork的設計思想為核心,吸收了struts1的優點,因此,可以認為struts2是struts1和webwork結合的產物。簡單來說二者的區別是 乙個是stuts1 乙個是stuts2,這是最大的區別,技術方面,stuts1有個...
Struts2與Struts1的區別
struts2其實並不是乙個陌生的web框架,struts2是以webwork的設計思想為核心,吸收了struts1的優點,因此,可以認為struts2是struts1和webwork結合的產物。簡單來說二者的區別是 乙個是stuts1 乙個是stuts2,這是最大的區別,技術方面,stuts1有個...
Struts2與Struts1的區別
簡單來說二者的區別是 乙個是stuts1 乙個是stuts2,這是最大的區別,技術方面,stuts1有個核心控制器,但是只提供了乙個介面,也就是execute,還要配置actionform之類的,很麻煩,所以依賴性比較強 而stuts2是針對 開發的,也就是所謂的aop思想,可以配置多個action...