大體流程: 1、瀏覽器向web伺服器發送HTTP請求 2、DispatcherServlet攔截所有請求,將請求地址(url)傳給HandlerMapping 3、HandlerMapping根據url-controller之間的映射關係,確定要調用的controller,並將要調用哪個contro ...
大體流程:
1、瀏覽器向web伺服器發送HTTP請求
2、DispatcherServlet攔截所有請求,將請求地址(url)傳給HandlerMapping
3、HandlerMapping根據url-controller之間的映射關係,確定要調用的controller,並將要調用哪個controller告訴DispatcherServlet
4、DispatcherServlet調用controller所屬的HandlerAdapter
5、HandlerAdapter調用controller
6、controller處理業務,並向處理結果封裝住在ModelAndView中,傳給HandlerAdapter
7、HandlerAdapter將ModelAndView傳遞給DispatcherServlet
8、DispatcherServlet調用ViewResolver來解析ModelAdnView
9、ViewResolver解析ModelAndView,得到Model、View,並將Model、View返回給DispatcherServlet
10、DispatcherServlet渲染View(將Model中的數據填入View),封裝為HTTP響應傳遞給web容器(也叫做web伺服器,常見的比如tomcat)
11、web伺服器向瀏覽器傳迴響應
有時候只使用Model,View是空的,比如ajax查詢數據;
有時候只使用View,Model是空的,比如返回靜態頁面。