SpringMVC的工作原理是什麼樣的,跟Spring的關係是怎麼樣的?

時間 2021-05-05 16:23:33

1樓:史上第一慫

建議看一下黃勇寫的《架構探險,從零開發乙個web框架》。作者相當於實現了乙個簡單的spring,springmvc框架。我只花了兩天時間看了前半本,就對spring與springmvc有了大致了解。

2樓:程式狗

上圖只是Spring MVC比較粗淺的執行過程,詳細的執行過程有時間再來答吧。由上圖可知,Spring MVC大致的執行流程如下:

1、首先瀏覽器傳送請求給前端控制器DispatcherServlet,DispatcherSerlvet根據請求資訊,基於一定的原則選擇合適的控制器進行處理並把請求委託給它。

2、頁面控制器接收到請求之後進行功能處理,首先需要收集、繫結請求引數到乙個物件(命令物件),並進行驗證,然後將該物件委託給業務物件進行處理(service層);業務物件處理之後控制器將返回乙個ModelAndView(模型資料和邏輯檢視名);

3、DispatcherServlet根據返回的邏輯檢視名,選擇合適的檢視進行渲染(介面展示、資源載入),並把模型資料傳入以便檢視渲染。

4、前端控制器將響應返回個客戶端瀏覽器。

SpringMVC當中的 Transactional readOnly true 意義?

馬中斌 這是Spring的,不是SpringMVC的。指明這是乙個唯讀事務,以對相應執行作優化。這只是事務的乙個方面,其他還有rollbackFor,isolation,propagation,timeout lee 如果你一次執行單條查詢語句,則沒有必要啟用事務支援,資料庫預設支援SQL執行期間的...

springMVC中的controller,在沒有成員變數時,是安全的嗎?為什麼?

李偉 在spring單例模式下,controller方法中的物件引用是會建立多個物件,只要這個物件中沒有類變數靜態變數他是不會有執行緒安全問題的。成員變數是屬於物件的。只要不是單例物件他是不會有執行緒安全問題的。所以我們在設計類和方法是盡量是無狀態的。如果無法避免就可以使用ThreadLocal物件...

轉換插頭的工作原理?

萬浦wonplug 轉換插頭的主要作用是將一種插頭轉換成另一種插頭形式,以適應當地的插座使用。如 去歐洲旅行,需要將國標的插頭型別轉換成歐規插頭型別,用電器才能在歐洲正常使用。除了作為插頭的轉換外,現在越來越多的轉換插頭會設計得多元化,例如帶USB介面的,能給電子裝置充電。有些是轉換插頭一體式的,方...