SpringMVC請求大致處理流程

2021-09-22 12:08:01 字數 1838 閱讀 8444

我們都在使用springmvc,那麼springmvc處理乙個請求的大致流程是怎樣的呢?請看下面圖所示:

文字描述的話大致是這樣的乙個流程:

我們看一下springmvc我們提供好的一些東西:

預設的實現類是:org.springframework.web.servlet.handler.

handleradapter允許使用任意的處理器介面。

前端控制器中的異常處理策略是通過handlerexceptionresolver來解決的,例如對映某乙個確定的異常到錯誤頁面。

預設的異常處理類是:org.springframework.web.servlet.mvc.annotation.annotationmethodhandlerexceptionresolver、org.springframework.web.servlet.mvc.annotation.responsestatu***ceptionresolver、org.springframework.web.servlet.mvc.support.defaulthandlerexceptionresolver

handlerexceptionresolver可以通過應用上下文被重寫。它在應用上下文中也是被定義為了乙個bean。

視**析策略可以通過指定乙個viewresolver的實現類來將相應的檢視名字解析成檢視物件。

預設的實現類是org.springframework.web.servlet.view.

internalresourceviewresolver。

同樣的viewresolver在應用上下文中被定義為乙個bean。

如果乙個檢視或者檢視名沒有被使用者提供的話,可以通過配置requesttoviewnametranslator來將當前的請求轉換為乙個檢視名。

預設的實現類是org.springframework.web.servlet.view.

defaultrequesttoviewnametranslator。

它在應用上下文中的bean的名字是

viewnametranslator。

通過multipartresolver的實現類我們可以解決multipart requests。

我們通常選擇的實現類是org.springframework.web.multipart.commons.

commonsmultipartresolver。這個實現包含了apache commons fileupload and servlet 3 。

multipartresolver的bean名字是

multipartresolver,沒有預設的實現類,我們如果要使用這個功能的話,需要在配置檔案中進行相應的配置。

國際化的解決策略是通過localeresolver的實現類來實現的。它是通過http的接收頭、cookie、session工作的。

預設的實現類是org.springframework.web.servlet.i18n.

acceptheaderlocaleresolver。

它在應用上下文中的bean的名字為

localeresolver。

主題解決策略是通過themeresolver的實現類來實現的。包括乙個固定的主題和cookie和會話儲存的實現。

預設的實現類是:org.springframework.web.servlet.theme.

fixedthemeresolver

它在應用上下文中的bean的名字為

themeresolver。

另外:我們可以在應用中定義不止乙個dispatcherservlet來適配不同的請求型別。

SpringMVC 筆記 6 請求處理的大致流程

1 所有請求過來,dispatcherservlet收到請求 2 呼叫dodispatch 方法進行處理protected 4 gethandleradapter 拿到能夠執行這個類的所有方法的介面卡 反射工具annotationmethodhandleradapter能解析註解方法的介面卡 han...

SpringMVC處理請求的大致流程是怎麼樣的

spring mvc請求處理架構圖 1 使用者首先傳送請求到前端控制器dispatcher servlet 3 接著將得到的處理器handlerexecutionchain包裝成為handleradapter 介面卡 4 根據得到的handleradapter呼叫真正的處理器得到modelandvi...

spring mvc請求處理流程

從web.xml中 servlet的配置開始,根據servlet攔截的url parttern,來進行請求 spring mvc工作流程圖 圖一 圖二 spring工作流程描述 1.使用者向伺服器傳送請求,請求被spring 前端控制servelt dispatcherservlet捕獲 3.dis...