springMVC原始碼解讀筆記

2022-05-08 18:54:08 字數 1439 閱讀 6428

2: dispatcherservlet的處理請求的流程(呼叫的 service方法)

a) 從servlet類的service方法,---到doget/dopost方法--到frameworkservlet類的processrequest()方法--到doservice()方法-- 到dispatcherservlet的doservice方法--dodispatch()方法

b) dispatcherservlet類的核心方法就是dodispatch()

處理器對映器的目的是能夠根據 url找到對應的controller方法, 這就需要以上二個map來實現精準匹配,, 這裡的對映關係對映好了後,接下來就是處理

httpmessageconveter: 將請求訊息(如json、xml等資料)轉換成乙個物件,將物件轉換為指定的響應資訊

資料轉換:對請求訊息進行資料轉換。如string轉換成integer、double等

資料格式化:對請求訊息進行資料格式化。 如將字串轉換成格式化數字或格式化日期等

資料驗證: 驗證資料的有效性(長度、格式等),驗證結果儲存到bindingresult或error中

handler執行完成後,向dispatcherservlet 返回乙個modelandview物件;根據返回的modelandview,選擇乙個適合的viewresolver返回給dispatcherservlet;viewresolver 結合model和view,來渲染檢視,最後將渲染結果返回給客戶端。

經過這12個步驟之後, 容器建立完成

refresh()中obtainfreshbeanfactory()方法解析: 這個方法是refresh()的核心之一: 該方法中做了二件事: 1, refreshbeanfactory():將xml轉換為beandefinition,存入beanfactory中, 建立beanfactory、指定序列化id、定製beanfactory、載入bean定義

2, getbeanfactory():返回beanfactory例項

springmvc, 先從dispatcherservlet的初始化流程(init), 之後是dispatcherservice的處理請求流程(service)

dispatcherservice的處理請求流程(service方法):

httpservlet類: 作用是 處理請求(裡面有 doget() , dopost() )

frameworkservlet類: 處理請求, doservice()

dispatcherservlet類; dodispatch() 找到請求對應的controller,分發給他處理請求,返回modelandview

jquery原始碼解讀(一)筆記

筆記 jquery是乙個庫,封裝了很多方法。為的就是更加方便使用。首先 分析,第一條。他們有兩類方法,一種是 直接呼叫方法 例如 each 另一種是 s elec tor 呼叫方 法 例如 selector 呼叫方法 例如 sele ctor 呼叫 方法 例 如 div html 首先實現,sele...

openTLD 原始碼解讀

首先是run tld 在其次就是tldexample 最後到了初始化函式tldinit 第乙個比較關鍵的函式 bb scan 將影象網格化,將首先 scale 1.2.10 10 21 個規格 在每個規格上打網格 這個函式有乙個比較重要的方法 ntuples 就是重複 因為網格上的點很多點有相同的x...

thinkphp原始碼解讀

thinkphp原始碼解讀 thinkphp原始碼的根目錄下是 index.php,是系統預設的 主頁,index.php中首先檢測的是 php執行環境,如果php版本小於 5.3.0則退出執行,定義是否為除錯模式,定義應用目錄,引入入口檔案。thinkphp是整個框架的入口檔案,在thinkphp...