一.簡介
1.1主要作用
SSM框架構建起單的技術棧需求!其中的SpringMVC負責表述層(控制層)實現簡化!
最終總結:
1. 簡化前端參數接收( 形參列表 )2. 端數據響應(返回值)
1.2核心組件和調用流程
Spring MVC與許多其他Web框架一樣,是圍繞前端控制器模式設計的,其中中央 Servlet
DispatcherServlet
做整體請求處理調度!
除了DispatcherServlet
SpringMVC還會提供其他特殊的組件協作完成請求處理和響應呈現。
SpringMVC處理請求流程:
SpringMVC涉及組件理解:
- DispatcherServlet : SpringMVC提供,我們需要使用web.xml配置使其生效,它是整個流程處理的核心,負責接收請求、分發,并給予客戶端響應![ CEO ]
- HandlerMapping : SpringMVC提供,我們需要進行IoC配置使其加入IoC容器方可生效,它內部緩存handler(controller方法)和handler訪問路徑數據,被DispatcherServlet調用,用于查找路徑對應的handler![秘書]
- HandlerAdapter : SpringMVC提供,我們需要進行IoC配置使其加入IoC容器方可生效,它可以處理請求參數和處理響應數據數據,每次DispatcherServlet都是通過handlerAdapter間接調用handler,他是handler和DispatcherServlet之間的適配器![經理]
- Handler : handler又稱處理器,他是Controller類內部的方法簡稱,是由我們自己定義,用來接收參數,向后調用業務,最終返回響應結果![打工人]
整個流程:
流程說明(重要):
- 客戶端(瀏覽器)發送請求,
DispatcherServlet
攔截請求。 DispatcherServlet
根據請求信息調用HandlerMapping
。HandlerMapping
根據 URL 去匹配查找能處理的Handler
(也就是我們平常說的Controller
控制器) ,并會將請求涉及到的攔截器和Handler
一起封裝。DispatcherServlet
調用HandlerAdapter
適配器執行Handler
。- 方法上添加了
@ResponseBody
- 通過
HttpMessageConverter
來返回結果轉換為JSON
并響應