常見的web表現層架構:Struts1、Struts2、WebWork、SpringMVC等。
相同點:
都是基于MVC的Web架構。
不同點:
1、在Action實作方面
Struts1的Action需要繼承Action類。
Struts2的Action可以不繼承任何類,也可以是一個POJO。
2、線程模型方面
Struts1的Action是單執行個體的,一個Action的執行個體處理所有的請求,線程不安全。
Struts2的Action是一個請求對應一個執行個體(即每次請求時都新new出一個對象),故線程安全。
3、Servlet依賴方面
Struts1的Action依賴于Servlet API。
Struts2的Action不依賴于Servlet API。
4、封裝請求參數
Struts1中使用formbean封裝請求參數。
Struts2中直接使用Action的屬性來封裝請求參數
5、表達式方面
Struts1中整合的是EL表達式。
Struts2整合了OGNL(Object Graph Navigate Language)。
6、Struts2實際是基于WebWork開發出來的,整合了Struts1的有點(基本上等效于這個表達式:Struts2=Struts1架構的優點+WebWork架構)。
以上屬于個人總結的幾個方面,供各位參考。謝謝!