1.SpringMVC: SpringMVC是基於java的實現MVC設計模式的請求驅動類型的輕量級的web框架,通常把model,view,controller將web層進行職責解耦, 把複雜的web應用分層邏輯清晰的幾部分,簡化開發,減少錯誤,方便組內人員之間的配合。 SpringMVC框架和其 ...
1.SpringMVC:
SpringMVC是基於java的實現MVC設計模式的請求驅動類型的輕量級的web框架,通常把model,view,controller將web層進行職責解耦,
把複雜的web應用分層邏輯清晰的幾部分,簡化開發,減少錯誤,方便組內人員之間的配合。
SpringMVC框架和其他框架一樣都是請求驅動,並設計圍繞一個能夠分發請求到控制器以及提供加快web應用開發功能的核心servlet(前端控制器)。
2.SpringMVC 的訪問流程:
(1)用戶發送的請求交給前端控制器,前端控制器不進行處理,而是委托給其他的解析器進行處理。
(2)前端控制器將請求轉交給映射器,映射器根據請求的url找到相對應的Controller控制器,返回給前端控制器。
(3)前端控制器將請求交給適配器,適配器根據適配的結果調用真正處理器的功能處理方法,完成功能處理,並返回modelandview給前端控制器。
(4)前端控制器把請求modelandview的邏輯視圖名交給視圖解析器,視圖解析器把邏輯視圖名解析成具體的view,返回真正的視圖對象。
(5)view根據傳進來model模型數據進行渲染,返回渲染後的視圖對象給前端控制器。
(6)前端控制器響應請求。
3.過濾器和攔截器:
(1)過濾器:依賴於servlet容器,在實現基於函數回調,可以對幾乎所有的請求進行過濾,一個過濾器只能在web容器初始化時調用,
只初始化一次,以後就可以攔截相關請求,只有當web容器停止或重新部署的時候才能銷毀。
(2)攔截器:依賴於web框架,在SpringMVC中就是依賴於SpringMVC框架,在實現基於java的反射機制,屬於面向切麵編程(AOP)的一種應用,
只能夠對Controller請求進行攔截,對一些像直接訪問靜態資源的請求沒有辦法攔截。
推薦:springMVC面試題:https://blog.csdn.net/a745233700/article/details/80963758