回覆列表
  • 1 # 使用者2013589007217

    springmvc的入口是servlet,而struts2是filter,這樣就導致了二者的機制不同。springmvc是基於方法的設計,sturts2是基於類設計的。springmvc將url和controller方法對映。對映成功後springmvc生成一個Handler物件,物件中只包括了一個method。方法執行結束,形引數據銷燬。springmvc的controller開發類似service開發。strts2每次請求都會例項一個action,每個action都會被注入屬性。springmvc是方法級別的攔截,攔截到方法後根據引數上的註解,把request資料注入進去,在springmvc中,一個方法對應一個request上下文。而struts2框架是類級別的攔截,每次來了請求就建立一個Action,然後呼叫settergetter方法把request中的資料注入;struts2實際上是透過settergetter方法與request打交道的;struts2中,一個Action物件對應一個request上下文。

  • 2 # Tiekt鐵鐵

    springMVC的工作原理如下:

    springmvc請所有的請求都提交給DispatcherServlet,它會委託應用系統的其他模組負責負責對請求進行真正的處理工作。 DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller. DispatcherServlet請請求提交到目標Controller Controller進行業務邏輯處理後,會返回一個ModelAndView Dispathcher查詢一個或多個ViewResolver檢視解析器,找到ModelAndView物件指定的檢視物件 檢視物件負責渲染返回給客戶端。 與spring的關係: Spring 框架是一個分層架構,由 7 個定義良好的模組組成。Spring模組構建在核心容器之上,核心容器定義了建立、配置和管理bean 的方式。  組成 Spring 框架的每個模組(或元件)都可以單獨存在,或者與其他一個或多個模組聯合實現。每個模組的功能如下:   核心容器:核心容器提供 Spring框架的基本功能。核心容器的主要元件是BeanFactory,它是工廠模式的實現。BeanFactory使用控制反轉(IOC)模式將應用程式的配置和依賴性規範與實際的應用程式程式碼分開。   Spring 上下文:Spring 上下文是一個配置檔案,向 Spring框架提供上下文資訊。Spring上下文包括企業服務,例如 JNDI、EJB、電子郵件、國際化、校驗和排程功能。   Spring AOP:透過配置管理特性,Spring AOP 模組直接將面向方面的程式設計功能整合到了Spring框架中。所以,可以很容易地使 Spring 框架管理的任何物件支援 AOP。Spring AOP 模組為基於Spring的應用程式中的物件提供了事務管理服務。透過使用 Spring AOP,不用依賴EJB元件,就可以將宣告性事務管理整合到應用程式中。   Spring DAO:JDBCDAO抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同資料庫供應商丟擲的錯誤訊息。異常層次結構簡化了錯誤處理,並且極大地降低了需要編寫的異常程式碼數量(例如開啟和關閉連線)。SpringDAO的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。   Spring ORM:Spring 框架插入了若干個 ORM 框架,從而提供了 ORM的物件關係工具,其中包括JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務和DAO異常層次結構。   Spring Web 模組:Web 上下文模組建立在應用程式上下文模組之上,為基於Web的應用程式提供了上下文。所以,Spring 框架支援與 Jakarta Struts的整合。Web模組還簡化了處理多部分請求以及將請求引數繫結到域物件的工作。   Spring MVC 框架:MVC 框架是一個全功能的構建 Web 應用程式的 MVC實現。透過策略介面,MVC框架變成為高度可配置的,MVC 容納了大量檢視技術,其中包括JSP、Velocity、Tiles、iText 和 POI。   Spring 框架的功能可以用在任何 J2EE伺服器中,大多數功能也適用於不受管理的環境。Spring的核心要點是:支援不繫結到特定 J2EE服務的可重用業務和資料訪問物件。毫無疑問,這樣的物件可以在不同 J2EE 環境 (Web或EJB)、獨立應用程式、測試環境之間重用。由此可以看出:Spring MVC 框架只是spring的一個子模組,用在java ee工程的web層元件。

  • 中秋節和大豐收的關聯?
  • Spring MVC原理是什麼?