更新時間:2021-12-09 12:13:32 來源:動力節(jié)點 瀏覽1160次
當(dāng)我們談?wù)?MVC 框架時,Struts (原始而非 Struts2)是第一個想到的框架,不僅因為它一直是這個領(lǐng)域的先驅(qū),而且它是迄今為止最好的框架之一。隨著 SpringMVC 的出現(xiàn),Struts 框架可能存在的缺點被 Spring MVC 所重視。以下是 Spring MVC 相對于 Struts 的優(yōu)勢:
Spring在控制器、JavaBean 模型和視圖之間提供了非常清晰的劃分。
Spring 的 MVC非常靈活。與 Struts 不同,Struts 強制您的 Action 和 Form 對象進行具體繼承(從而消除了您在 Java 中具體繼承的單一機會),Spring MVC 完全基于接口。此外,幾乎 Spring MVC 框架的每個部分都可以通過插入您自己的接口進行配置。當(dāng)然,我們也提供便利類作為實現(xiàn)選項。
Spring 和 WebWork 一樣,提供了攔截器和控制器,可以很容易地分解出處理許多請求時常見的行為。
Spring MVC 是真正的視圖不可知的。如果您不想,您不會被迫使用 JSP;您可以使用 Velocity、XLST 或其他視圖技術(shù)。如果您想使用自定義視圖機制——例如,您自己的模板語言——您可以輕松實現(xiàn) Spring View 接口來集成它。
Spring 控制器像任何其他對象一樣通過 IoC進行配置。這使它們易于測試,并與 Spring 管理的其他對象完美集成。
Spring MVC web 層通常比 Struts web 層更容易測試,因為它避免了強制的具體繼承和控制器對調(diào)度程序 servlet 的顯式依賴。
Web 層成為業(yè)務(wù)對象層之上的一個薄層。這鼓勵了良好的實踐。Struts 和其他專用的 Web 框架讓您自己實現(xiàn)業(yè)務(wù)對象;Spring 為應(yīng)用程序的所有層提供了一個集成框架。
在 Struts 中,驗證通常在 ActionForm 的 validate 方法中實現(xiàn),有時使用 Jakarta common-validator 包進行聲明性驗證定義。在 SpringMVC 中,驗證器是不依賴于 Servlet API 的第一類業(yè)務(wù)對象,即使在使用 commons-validator 時也是如此(沙箱中有代碼支持這一點)。這允許在將域?qū)ο蟪志没綌?shù)據(jù)庫之前,例如在您的業(yè)務(wù)邏輯中重用這些驗證器。
* Struts 2 是Struts(原版)的修訂版,解決了這些缺點并提供了一組很好的競爭特性。
以上就是關(guān)于“與Struts相比SpringMVC的優(yōu)點”的介紹,如果大家想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容全面細致,由淺到深,通俗易懂,適合小白學(xué)習(xí),希望對大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費 15天面授
有基礎(chǔ) 直達就業(yè)
業(yè)余時間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)