1. 程式人生 > >SpringMVC執行過程及涉及到的類解析

SpringMVC執行過程及涉及到的類解析

springmvc框架執行結構圖:

文字描述:

    1.瀏覽器發起一個請求:http://localhost:80/
    2.先去指定伺服器上查詢專案
    3.載入該專案的web.xml(DispatcherServlet前端控制器)
    4.DispatcherServlet收到請求攔截到了,呼叫處理器對映器進行處理。
    5.處理結果最終返回給DispatcherServlet.
    6.DispatcherServlet查詢控制器Controller,通過HandlerAdapter(處理器介面卡),查詢對應的業務邏輯方法
    7.執行業務方法,執行結果是ModelAndView.最終又將ModelAndView交給前端控制器。
    8.DispatcherServlet將ModelAndView交給檢視解析器解析,解析得到view物件。 即view物件先交給DispatcherServlet.
    9.DispatcherServlet將view物件查詢到了後,進行資料和檢視內容渲染(將資料填充在view頁面)
    10.將結果響應給瀏覽器。

SpringMVC的三大元件:
     1.處理器對映器 HandlerMapping
               根據請求地址url得到對映的內容及方式,解析對映路徑
     2.處理器介面卡 HandlerAdapter
            用到的模式介面卡模式。需找適合處理業務的方式。
     3.檢視解析器  ViewResolver
           將ModelAndView解析view檢視,最終開發者將頁面和資料進行渲染。 渲染後交給DispatcherServlet。
       再響應給瀏覽器。

spring基本引數繫結(7種)

1  預設支援的引數型別(形參)  控制器中方法的形參進行繫結值

2 給引數繫結簡單型別

3.註解引數繫結

4.繫結pojo類

5.解決亂碼問題

6.繫結包裝pojo類

7.自定義引數繫結

相關推薦

SpringMVC執行過程涉及到的解析

springmvc框架執行結構圖: 文字描述:     1.瀏覽器發起一個請求:http://localhost:80/     2.先去指定伺服器上查詢專案     3.載入該專案的web.xml(DispatcherServlet前端控制器)     4.Dispat

SpringMVC執行流程原始碼解析

在SpringMVC中主要是圍繞著DispatcherServlet來設計,可以把它當做指揮中心。這裡先說明一下SpringMVC文件給出的執行流程,然後是我們稍微具體的執行流程,最後是流程大致的原始碼跟蹤。關於很很很詳細的原始碼解析,這裡暫先不做。 官方文件中的流程

SpringMVC執行原理介面解釋

1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。藉助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡單。這些控制器一般不直接處理請求,而是將其委託給Spring上下文中的其他bean,通過Spring

springmvc載入過程原始碼分析

什麼是springmvc springmvc是基於的spring的一個web層框架。  這張圖是spring的架構體系,從中可以看出springmvc和struts一樣都是屬於一個web層框架,是spring框架的一部分。 springmvc和mvc有什麼區別 mvc是一種

Mysql查詢語句執行過程執行原理

Mysql查詢語句執行原理 資料庫查詢語句如何執行? DML語句首先進行語法分析,對使用sql表示的查詢進行語法分析,生成查詢語法分析樹。 語義檢查:檢查sql中所涉及的物件以及是否在資料庫中存在,使用者是否具有操作許可權等 檢視轉換:將語法分析樹轉換成關係代數表示式

SpringMvc執行流程三大元件作用

一:SpringMvc執行流程圖 一.SpringMVC中的元件及各個元件的作用? 1.DispatherServlet:前置控制器,負責接收並處理所有的web請求,根據handlerMapping找到具體的Controller,由controller完成具體的處理邏輯。 2.Ha

ping命令執行過程返回資訊分析

Ping命令幕後過程及其返回資訊分析 “Ping”的幕後過程 我們以下面一個網路為例:有A、B、C、D四臺機子,一臺路由RA,子網掩碼均為255.255.255.0,預設路由為192.16

淺談SpringMVC執行過程

開發十年,就只剩下這套架構體系了! >>>   

動圖+原始碼,演示Java中常用資料結構執行過程原理

最近在整理資料結構方面的知識, 系統化看了下Java中常用資料結構, 突發奇想用動畫來繪製資料流轉過程. 主要基於jdk8, 可能會有些特性與jdk7之前不相同, 例如LinkedList LinkedHashMap中的雙向列表不再是迴環的. HashMap中的單鏈表是尾插, 而不是頭插入等等, 後文不再贅敘

Elasticsearch系列---搜尋執行過程scroll遊標查詢

概要 本篇主要介紹一下分散式環境中搜索的兩階段執行過程。 兩階段搜尋過程 回顧我們之前的CRUD操作,因為只對單個文件進行處理,文件的唯一性很容易確定,並且很容易知道是此文件在哪個node,哪個shard中。 但搜尋比CRUD複雜,符合搜尋條件的文件,可能散落在各個node、各個shard中,我們需要找到匹配

Java程式執行過程記憶體機制

本講將介紹Java程式碼是如何一步步執行起來的,其中涉及的編譯器,類載入器,位元組碼校驗器,直譯器和JIT編譯器在整個過程中是發揮著怎樣的作用。此外還會介紹Java程式所佔用的記憶體是被如何管理的:堆、棧和方法區都各自負責儲存哪些內容。最後用一小塊程式碼示例來幫助理解Java程式執行時記憶體的變化。 ##

SpringMVC執行流程原始碼分析

# SpringMVC流程及原始碼分析 前言 ​ 學了一遍SpringMVC以後,想著做一個總結,複習一下。複習寫下面的總結的時候才發現,其實自己學的並不徹底、牢固、也沒有學全,視訊跟書本是要結合起來一起,每一位老師的視訊可能提到的東西都不一致,也導致也不是很全面,書本上會講的筆記系統、全面。同時我自己也

深入瞭解載入過程Java程式執行順序

/** * @author chris * @date 2018/10/30 - 15:24 * 類載入執行順序: * 1.靜態屬性,靜態方法宣告,靜態塊。 * * 2.動態屬性,普通方法宣告,構造塊。 * * 3.構造方法。 * * 當new一個物件時,此時會呼叫構造方法,但是在呼叫構造方法之前,(除非被打

Java 多執行緒池ThreadPoolExecutor解析Executors中提供的靜態方法來建立執行緒池

上面的程式碼可能看起來不是那麼容易理解,下面我們一句一句解釋:   首先,判斷提交的任務command是否為null,若是null,則丟擲空指標異常;   接著是這句,這句要好好理解一下: if (poolSize >= corePoolSize || !addIfUnderCorePoolSize(c

瀏覽器的解析執行過程

們的 由於 繼續 動畫 table 就會 內嵌 cnblogs 內嵌腳本 當瀏覽器獲得一個html文件時,會“自上而下”加載,並在加載過程中進行解析渲染。 解析: 1. 瀏覽器會將HTML解析成一個DOM樹(display:none,visibility:hidden)。

第8章2節《MonkeyRunner源代碼剖析》MonkeyRunner啟動執行過程-解析處理命令行參數

path 轉載 iss 命令 code rst pri bsp ack MonkeyRunnerStarter是MonkeyRunner啟動時的入口類,由於它裏面包括了main方法.它的整個啟動過程主要做了以下幾件事情:解析用戶啟動MonkeyRunner時從命令行傳輸

Servlet的生命周期執行過程

生命 tro font 接收 -m 方法 dog 服務器 一次 Servlet生命周期分為實例化、初始化、響應請求調用service()方法、消亡階段調用destroy()方法。 執行過程如下: 1)當瀏覽器發送一個請求地址,tomcat會接收這個請求 2)tomcat會讀

(轉)Linux 中/etc/profile、~/.bash_profile 環境變量配置執行過程

行修改 你在 關系 轉載 登錄用戶 後者 nbsp inux 第一個 環境變量是和Shell緊密相關的,用戶登錄系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。對於UNIX,可能是CShelll。環境變量是通過Sh

js解析執行過程

js解析與執行過程分為全域性與區域性 1:全域性,預處理階段===>執行階段 2.區域性(函式),預處理階段===>執行階段  全域性:預處理  全域性的詞法環境===window{ a:undefined b:對函式的一個引用  

react-native-cli執行專案打包apk失敗的解決過程

剛開始學習react native,第一步自然是搭建好開發環境,node及jdk本身就有,Python2、Android studio以及Android sdk的安裝倒是沒什麼大問題,按照官網的教程做就行了,還有Android studio我目前理解的是其實主要作用就是配置對應版本的安卓模擬器或者是安裝sdk