復習02之SpringMVC

SpringMVC在web上運行過程分析:

1:SpringMVC是運行在IOC容器的基礎上的,如果要在web容器上啟動IOC容器,需要Spring為IOC設計一個啟動過程,把IOC容器導入,并且在WEB容器上建立起來。

以web.xml來分析,springMVC的啟動類是ContextLoaderListener,

ContextLoaderListener extends ContextLoader implements ServletContextListener

這個監(jiān)聽器是Spring提供的類。實現(xiàn)了ServletContextListener接口,里面重寫了兩個方法:

contextInitialized:在這個方法里面初始化了initWebApplicationContext。最后是通過ContextLoad來實例化獲取了WebApplicationContext。

public void contextInitialized(ServletContextEvent event) {

????initWebApplicationContext(event.getServletContext());

}

整個過程是:首先從servlet事件中獲取到了ServletContext,然后是讀取web.xml中的配置文件,接著ContextLoad會實例化WebApplicationContext,并完成載入和初始化的過程。這個WebApplicationContext載入完成后,就會綁定在ServletContext上。這樣就會完成全局的一個應用上下文。

2:請求流程

1:用戶的http請求會發(fā)送至前端的dispatchServlet上

2:DispatcherServlet收到請求后就會去調(diào)用HandlerMapping去處理請求

3:HandlerMapping會根據(jù)具體的url來找到對應的處理器,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。

4:DispatchServlet通過HandlerAdapt處理器適配器調(diào)用處理器。

5:執(zhí)行處理器(Controller)執(zhí)行完畢后,返回的是ModelAndView。

6:DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。

7:ViewReslover解析后返回具體View。

8:DispatcherServlet對View進行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)。

9: DispatcherServlet響應用戶。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容