struts配置請求方法 mvc操作流程?
mvc操作流程?Spring MVC工作流描述:1.用戶向服務(wù)器發(fā)送請求,請求被Spring前端控件Servelt DispatcherServlet捕獲;2.DispatcherServlet解析請
mvc操作流程?
Spring MVC工作流描述:
1.用戶向服務(wù)器發(fā)送請求,請求被Spring前端控件Servelt DispatcherServlet捕獲;
2.DispatcherServlet解析請求URL以獲取請求資源標(biāo)識符(URI)。然后根據(jù)URI調(diào)用HandlerMapping獲取處理程序配置的所有相關(guān)對象(包括處理程序?qū)ο蠛吞幚沓绦驅(qū)ο髮?yīng)的攔截器),最后以HandlerExecutionChain對象的形式返回;
3.DispatcherServlet選擇合適的HandlerAdapter根據(jù)獲取的Handler生成相應(yīng)的文件;
4.提取請求中的模型數(shù)據(jù),填充處理程序的參數(shù),開始執(zhí)行處理程序(控制器)。
在填充Handler的參數(shù)的過程中,根據(jù)你的配置,Spring會幫你做一些額外的工作:
HttpMessageConvet:將請求消息(如Json、xml等數(shù)據(jù))轉(zhuǎn)換成對象,并將對象轉(zhuǎn)換成指定的響應(yīng)信息。
數(shù)據(jù)轉(zhuǎn)換:對請求消息執(zhí)行數(shù)據(jù)轉(zhuǎn)換。比如串成整數(shù),雙精度等。
數(shù)據(jù)根:請求消息的數(shù)據(jù)格式。例如將字符串轉(zhuǎn)換成格式化的數(shù)字或格式化的日期。
數(shù)據(jù)驗證:驗證數(shù)據(jù)的有效性(長度、格式等。),驗證結(jié)果存儲在BindingResult或Error中。
5.處理程序執(zhí)行后,向DispatcherServlet返回一個ModelAndView對象;
6.根據(jù)返回的ModelAndView,選擇合適的ViewResolver(必須在Spring容器中注冊)并返回給Dispatch
spring的工作流程?
春季工作的過程
流程如下:
1.用戶向前端控制器(DispatcherServlet)發(fā)起一個請求,它將過濾出哪些請求可以訪問Servlet,哪些不能。是url-pattern的角色,并將加載配置文件。
2.前端控制器會找到HandlerMapping,通過HandlerMapping完成url到con。troller mapping的組件,簡單來說就是找到并存儲springmvc.xml中配置或注釋的url以及對應(yīng)的處理類,并以maplturl,handlergt的形式存儲。
3.HandlerMapping有映射關(guān)系,找到url對應(yīng)的處理器。HandlerMapping會返回它的handler,在返回之前會添加很多攔截器。
4.DispatcherServlet獲取處理程序后,會找到HandlerAdapter,用于訪問處理器和執(zhí)行處理器。
5.執(zhí)行處理器
6.處理器將返回一個ModelAndView對象給HandlerAdapter。
7.通過HandlerAdapter將ModelAndView對象返回給前端控制器(DispatcherServlet)。
8.前端控制器請求ViewResolver解析視圖,并根據(jù)邏輯視圖名稱將其解析為真實視圖(jsp)。其實就是搜索ModelAndView對象中存儲的視圖名稱,找到對應(yīng)的頁面,形成視圖對象。
9.將視圖對象返回到前端控制器。
10、視圖渲染,就是把ModelAndView對象中的數(shù)據(jù)放到請求域中,用來讓頁面加載數(shù)據(jù)。
11.通過第8步,根據(jù)名稱找到相應(yīng)的頁面。通過步驟10,請求字段中所需的數(shù)據(jù)是可用的,因此可以呈現(xiàn)視圖。最后,退貨。