1. 程式人生 > >Struts2和springmvc的本質區別:

Struts2和springmvc的本質區別:

1.springmvc入口是一個servlet前端控制器(DispatcherServlet),struts2入口是一filter過濾器(StrutsPrepareAndExecuteFilter). 2.struts2通過在action類中定義成員變數接收引數,(屬性驅動和模型驅動),它只能使用多例模式管理action. springmvc通過在coontroller方法中定義形參接收引數,springmvc可以使用單例模式管理controller. 3.springmvc是基於方法開發的,註解開發中使用requestMapping將url和方法進行 對映,如果根據url找到controller類的方法生成一個handler處理器物件(只包括一個method). struts2是基於類開發的,每個請求過來建立一個action例項,例項物件中有若干個方法. 開發中建議使用springmvc,springmvc方法更類似service業務方法. 4.struts2採用值棧儲存請求和相應的資料,通過OGNL存取資料,springmvc通過引數繫結期將request請求內容解析,並給方法形參賦值. 5.struts2和springmvc的速度是相當的,由於struts2的漏洞較多,跟多企業使用springmvc !