Spring的模型-視圖-控制器(MVC)框架是圍繞一個DispatcherServlet來設計的,這個Servlet會把請求分發給各個處理器,並支持可配置的處理器映射、視圖渲染、本地化、時區與主題渲染等,甚至還能支持文件上傳。
MVC工作流程:
Http請求到DispatcherServlet
(1) 客戶端請求提交到DispatcherServlet。
HandlerMapping尋找處理器
(2) 由DispatcherServlet控制器查詢一個或多個HandlerMapping,找到處理請求的Controller。
調用處理器Controller
(3) DispatcherServlet將請求提交到Controller。
Controller調用業務邏輯處理後,返回ModelAndView
(4)(5)調用業務處理和返回結果:Controller調用業務邏輯處理後,返回ModelAndView。
DispatcherServlet查詢ModelAndView
(6)(7)處理視圖映射並返回模型: DispatcherServlet查詢一個或多個ViewResoler視圖解析器,找到ModelAndView指定的視圖。
ModelAndView反饋瀏覽器HTTP
(8) Http響應:視圖負責將結果顯示到客戶端。