Java架構中Struts和Struts2架構的區別

來源:互聯網
上載者:User

標籤:exe   exec   ognl   內容   應用   mes   span   地址   屬性   

struts1 struts2 的區別:
1.都是 MVC 的 WEB 架構,
2 struts1的老牌架構,應用很廣泛,有很好的群眾基礎,使用它開發風險很小,成本更低!
struts2雖然基於這個架構,但是應用群眾並多,相對不成熟,未知的風險和變化很多,開發
人員相對不好招,使用它開發項目的風險係數更大,用人成本更高!
3.struts2畢竟是站在前輩的基礎設計出來,它會改善和完善 struts1中的一些缺陷, struts1
中一些懸而未決問題在 struts2得到瞭解決。
4.struts1的前端控制器是一個 Servlet,名稱為 ActionServlet, struts2的前端控制器是一個
filter,在 struts2.0中叫 FilterDispatcher,在 struts2.1中叫 StrutsPrepareAndExecuteFilter。
5.struts1的 action 需要繼承 Action 類, struts2的 action 可以不繼承任何類; struts1對同一
個路徑的所有請求共用一個 Action 執行個體, struts2對同一個路徑的每個請求分別使用一個獨
立 Action 執行個體對象,所有對於 struts2的 Action 不用考慮安全執行緒問題。
6.在 struts1中使用 formbean 封裝請求參數,在 struts2中直接使用 action 的屬性來封裝請
求參數。
7.struts1中的多個業務方法放在一個 Action 中時(即繼承 DispatchAction 時),要麼都校正,
要麼都不校正;對於 struts2,可以指定只對某個方法進行校正,當一個 Action 繼承了
ActionSupport 且在這個類中只編寫了 validateXxx()方法,那麼則只對 Xxx()方法進行校正。
(一個請求來了的執行流程進行分析, struts2是自動支援分模組開發,並可以不同模組設定
不同的 url 首碼,這是通過 package 的 namespace 來實現的; struts2是支援多種類型的視
圖; struts2的視圖地址可以是動態,即視圖的名稱是支援變數方式的,舉例,論壇發帖失
敗後回來還要傳遞 boardid。視圖內容顯示方面:它的標籤用 ognl,要 el 強大很多,在國際
化方面支援分模組管理,兩個模組用到同樣的 key,對應不同的訊息;)
與 Struts1不同, Struts2對使用者的每一次請求都會建立一個 Action,所以 Struts2中的 Action
是安全執行緒的。
給我印象最深刻的是: struts 設定檔中的 redirect 視圖的 url 不能接受參數,而 struts2配
置檔案中的 redirect 視圖可以接受參數。

Java架構中Struts和Struts2架構的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.