分析springmvc底層呼叫流程

2021-07-10 19:00:43 字數 971 閱讀 4023

因為dispatcherservlet繼承了frameworkservlet,而frameworkservlet繼承了httpservletbean,而httpservletbean繼承了httpservlet,所以本質上說,dispatcherservlet也是乙個servlet。

因為springmvc實現了httpservlet所以需要先做如下配置來對請求進行攔截。

乙個請求過來之後,先看請求路徑是否滿足如上圖圖示出的規則。(注:此段配置在web.xml)

如果滿足以上規則,則會執行dopost或者doget方法。因為frameworkservlet重寫了dopost和doget方法,如下:

而在processrequest方法中呼叫了doservice方法。如下圖:

(方法未結束,此處忽略部分**)

在dispatcherservlet實現了doservice抽象方法,並且在doservice中做了一些準備工作後,呼叫了dodispatch方法,如下圖:

在dodispatch中呼叫了具體的我們實現的業務controller,並且返回了modelandview物件。原始碼如下圖:

(方法未結束,此處忽略部分**)

將返回的mv返回給用視**析器處理後返回前端。

c語言函式呼叫原理底層分析

1函式的功能主要是為了復用性,不同的屬性可以引數化 2函式呼叫機制 2.1按呼叫約定傳遞引數 2.1呼叫約定 呼叫方 caller 和被調方 callee 需要約定以下內容 1傳參順序 2傳遞引數的媒介 是放棧還是暫存器 3清理引數的責任歸屬 4返回值的傳遞媒介 返回值是放棧還是暫存器 cdecl ...

springmvc呼叫流程

1 客戶端發出乙個http請求給web伺服器,web伺服器對http請求進行解析,如果匹配dispatcherservlet的請求對映路徑 在web.xml中指定 web容器將請求轉交給dispatcherservlet.5 handler對資料處理完成以後將返回乙個modelandview 物件給...

SpringMVC呼叫流程

相關元件 流程圖標 乙個請求匹配前端控制器 dispatcherservlet 的請求對映路徑 在 web.xml中指定 web 容器將該請求轉交給 dispatcherservlet 處理 dispatcherservlet 再請求 處理器介面卡 handleradapter 呼叫相應的 hand...