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