2010-03-19 97 views
12

我經常遇到這個問題,爲什麼我們有很多web框架解決相同或類似的缺點。當深入研究時,我還考慮了爲什麼在其他Web框架(如Struts,Spring MVC等)已經顯示它們存在之後,爲什麼JSP/Servlet沒有被使用?Servlets vs MVC框架

是因爲,最新的Web框架

  1. 做了大部分的東西在自己的?
  2. 提供了Servlet/JSP無法提供的豐富功能嗎?
  3. 或者Servlet/JSP無法提供最新的框架呢?

任何形式的答覆或資源的幫助將不勝感激。

回答

7

我會分享我的一些想法。

  1. 如上所述,這些框架是在Servlet/JSP之上開發的。
  2. 它們旨在避免代碼(DRY)的重複。
  3. 框架基於設計模式 - 針對常見問題的一般可重用解決方案。
  4. 他們幫助在團隊中輕鬆溝通,並使他們高效並專注於他們試圖解決的企業級問題,而不是這些常見任務。
  5. 他們幫助通過提供通用解決方案來加速開發,以解決衆所周知的問題。 (如表單驗證,REST,測試,依賴注入等)

當你在開發大型企業應用,並有工作就可以了多個開發人員,你肯定需要在項目/代碼/結構每個開發人員的一些均勻性在寫字。強制執行從外部強制是不可靠的,但是當這些執行強制執行時,它有助於使項目易於維護,規模大,並且易於新人在短時間內生產。

我相信這個規則不僅適用於servlet-jsp,也適用於JavaScript。在構建企業級UI時,只有原生JavaScript或甚至低級別的JavaScript API /庫是不夠的。要麼採用最佳可用框架,要麼抽象出通用性,並將其作爲框架(而不是圖書館)。

2

Spring MVC仍然適用於JSP,在它的核心中,它只提供一個簡單的調度程序servlet,它使用Spring MVC框架提供的機制(在其中註冊控制器等)。我會說這是關於便利性,讓事情更容易編寫和維護。此外,您可以更輕鬆地對當前的開發做出反應(例如,RESTful服務......您必須手動將其全部編碼到servlet中)。最終,這是什麼框架。