SpringMVC中的DispatcherServlet詳細解析
DispatcherServlet詳細解析
對照這流程的第一步發(fā)起請求到前端控制器DispatcherServlet,首先看看DispatcherServlet這個類,為什么所有的請求能發(fā)給這個類,看下這個類的結(jié)構(gòu)圖:
這里我們發(fā)現(xiàn)了這個DispatcherServlet通過繼承FrameWorkServlet、HttpServletBean從而間接的繼承了HttpServlet,所以說這個DispatcherServlet也是一個Servlet,它也能通過Servlet的API來響應(yīng)請求,從而成為一個前端控制器。
Web容器會調(diào)用Servlet的doGet()以及doPost()等方法,這里FrameworkServlet重寫了HttpServlet的這兩個方法,里面都調(diào)用了processRequest這個方法
繼續(xù)跟進,經(jīng)過了一些簡單的處理后發(fā)現(xiàn)最終還是調(diào)用了doService方法
繼續(xù)跟進這個doService方法,發(fā)現(xiàn)它是一個等待子類實現(xiàn)的抽象方法,DispatcherServlet是它的子類并且實現(xiàn)了該方法,所以最終請求時通過FrameworkServlet的簡單處理之后調(diào)用了DispatcherServlet的doService方法。
至此我們已經(jīng)清楚了為什么DispatcherServlet為前端控制器了
到此這篇關(guān)于SpringMVC中的DispatcherServlet詳細解析的文章就介紹到這了,更多相關(guān)DispatcherServlet詳細解析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
idea啟動與jar包啟動中使用resource資源文件路徑的問題
這篇文章主要介紹了idea啟動與jar包啟動中使用resource資源文件路徑的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Springboot2.0自適應(yīng)效果錯誤響應(yīng)過程解析
這篇文章主要介紹了Springboot2.0自適應(yīng)效果錯誤響應(yīng)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11idea創(chuàng)建springboot項目和springcloud項目的詳細教程
這篇文章主要介紹了idea創(chuàng)建springboot項目和springcloud項目方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10SpringBoot中統(tǒng)計方法耗時的七種實現(xiàn)方式小結(jié)
作為開發(fā)者,我們經(jīng)常需要統(tǒng)計方法的執(zhí)行時間,以便找出性能瓶頸,優(yōu)化系統(tǒng)響應(yīng)速度,今天分享在SpringBoot框架中實現(xiàn)方法耗時統(tǒng)計的幾種方法,大家可以根據(jù)需求自行選擇2025-03-03java 學習筆記(入門篇)_程序流程控制結(jié)構(gòu)和方法
程序流程控制結(jié)構(gòu)分為:順序、選擇、循環(huán)以及異常處理結(jié)構(gòu),語句是程序的基本組成單位,一般來說語句的執(zhí)行流程是按順序來進行的,但是當遇到一些特殊的條件,比如循環(huán),這時候語句就會按照流程控制結(jié)構(gòu)來進行了2013-01-01springboot jasypt2.x與jasypt3.x的使用方式
在軟件開發(fā)中,將配置文件中的敏感信息(如數(shù)據(jù)庫密碼)進行加密是保障安全的有效手段,jasypt框架提供了這一功能,支持通過加密工具類或命令行工具生成密文,并通過修改配置文件和啟動參數(shù)的方式使用密文和密鑰,這樣即便配置文件被泄露2024-09-09創(chuàng)建Maven項目和Spring IOC實例過程解析
這篇文章主要介紹了創(chuàng)建Maven項目和Spring IOC實例過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12