先看下我在網上找的一張圖片,圖雖然不是很好看可是很詳細很清晰spring
具體解答
- 用戶向服務器發送請求,請求被spring的核心組件DispatcherServlet截獲
- DispatcherServlet對請求URL進行解析,獲得URI(請求資源標識符),而後根據該URI,調用HandlerMapping得到該Handler配置的全部相關對象HandleExecutionChain(詳情見圖),返回給DispatcherServlet
- DispatcherServlet根據獲取到的HandleExecutionChain,選擇合適HandlerAdapter(處理機適配器),HandlerAdapter根據Handler對象分配具體的控制器(Collection)處理具體的業務,
- 業務邏輯處理完成後會返回一個ModelAndView
- DispatcherServlet根據返回的ModelAndView,選擇一個格式的ViewResolver(視圖解析器)
- ViewResolver找個一個合適的View(視圖)返回給DispatcherServlet
- DispatcherServlet結合ViewResolver結合Model來渲染視圖
- DispatcherServlet將視圖渲染結果返回給客戶端