spring MVC 請求響應流程

2021-08-03 14:12:43 字數 1444 閱讀 9303

spring mvc 請求響應流程

通過tomcat 和 spring對請求的處理過程的函式棧分析,可以看出spring-mvc工作原理。

1、請求經過tomcat處理後,進入spring mvc的前端控制器frameworkservlet。

2、前端控制器處理完成後,讓dispatcherservlet(繼承frameworkservlet,所以1和2的處理,也可以看成統一的處理器)對結果進行處理。在dispatcherservlet中dodispatch函式完成了spring mvc對請求的後續處理,包括:獲取控制處理鏈(handlerexecutionchain類的物件)、通過控制處理鏈查詢對應的處理器介面卡(handleradapter物件)、執行執行對應的controller和modelandview的後續處理。下面看看dodispatch的源**。

//獲取對應的真正的執行

// process last-modified header, if supported by the handler.

string method = request.getmethod();

boolean isget = "get".equals(method);

if (isget || "head".equals(method))

if (new servletwebrequest(request, response).checknotmodified(lastmodified) && isget)

}return;

}try

finally }}

catch (exception ex)

//modelandview的後續處理

}catch (exception ex)

catch (error err)

finally

// clean up any resources used by a multipart request.

if (multipartrequestparsed) }}

3、modelandview的後續處理的後續處理包括:(1)、將model資料放到request。(2)、將model的值放入view中。仔細函式棧的圖可以看出,spring只是將值放入request中去,後續的view中el表示式的賦值等操作,還是外部環境完成的。

Spring MVC 請求響應流程

一旦選擇了合適的控制器後,dispatcherservlet將請求傳送到控制器 3,這時請求的任務就結束了,只需要等待控制處理使用者提交的資料並作出相應的返回。控制器所做的最後一件事就是將這些資料資訊打包,並標出用於渲染輸出的檢視名,接下來會將請求連同模型和檢視名送回dispatcherservle...

SpringMVC 的請求響應流程以及涉及的元件

總結下別人寫的幾篇部落格 spring官方提供圖形 使用者請求到達前端控制器,它就相當於 mvc 模式中的 c,dispatcherservlet 是整個流程控制的中心,由它呼叫其它元件處理使用者的請求,dispatcherservlet 的存在降低了元件之間的耦合性。它就是我們開發中要編寫的具體業...

Spring MVC 請求響應流程及建立步驟

最近在對spring mvc框架的專案進行源 業務邏輯漏洞分析,把之前學的spring mvc 自己對spring mvc的簡單理解整理一下。有不對的地方還請各位看官大神多指教。一 簡介 spring mvc框架是乙個mvc框架,通過實現mvc很好的將資料 業務 展現進行分離 spring mvc ...