具體工作流程:
當客戶端發出乙個請求,首先被dispatcherservlet捕獲(若該請求不經過dispatcherservlet,那麼直接返回相應資源,非ssm)
dispatcherservlet收到請求後自己不進行處理,而是委託給其他的解析器進行處理,作為統一訪問點,進行全域性的流程控制。判斷是否有相應的handler方法。
然後呼叫handleradapter,handleradapter 將會把handler 處理器包裝為介面卡,從而支援多種型別的處理器
然後向下這裡呼叫呼叫***的 prehandle (進行預處理,當prehandle方法返回false時,從當前***往回執行所有***的aftercompletion方法,再退出***鏈。當prehandle方法全為true時,執行下乙個***,直到所有***執行完。)方法對modelandview進行操作,處理完成後返回modelandview 物件(包含模型資料、邏輯檢視名)。
然後執行handle方法,返回modelandview
執行posthandle方法:它是進行處理器攔截用的,它的執行時間是在處理器進行處理之後,也就是在controller的方法呼叫之後執行,但是它會在dispatcherservlet進行檢視的渲染之前執行,也就是說在這個方法中可以對modelandview進行操作。(這裡判斷是否存在異常)如果不存在異常,繼續執行。
之後執行 processdispatchresult 方法。如果這裡存在異常:進入processhandlerexception -> handlerexceptionresolver 元件解析異常,則返回乙個新的 modelandview 物件(繼續執行下去)。
若沒有異常,進入render 方法 呼叫viewresolver元件解析modelandview物件得到實際的view解析檢視
view會根據傳進來的model模型資料進行渲染
最後呼叫***的 aftercompletion方法清理資源。
spring mvc工作原理
1.spring mvc請所有的請求都提交給dispatcherservlet,它會委託應用系統的其他模組負責負責對請求進行真正的處理工作。3.dispatcherservlet請請求提交到目標controller 4.controller進行業務邏輯處理後,會返回乙個modelandview 5....
SpringMVC工作原理
上面的是springmvc的工作原理圖 1 客戶端發出乙個http請求給web伺服器,web伺服器對http請求進行解析,如果匹配dispatcherservlet的請求對映路徑 在web.xml中指定 web容器將請求轉交給dispatcherservlet.5 handler對資料處理完成以後將...
SpringMVC工作原理
上面的是springmvc的工作原理圖 核心架構的具體流程步驟如下 1 首先使用者 傳送請求 dispatcherservlet,前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行 處理,作為統一訪問點,進行全域性的流程控制 2 個handler 處理器 頁面控制器 物件 多個handl...