摘要:處理器是繼前端控制器的后端控制器,在的控制下對(duì)具體的用戶請(qǐng)求進(jìn)行處理。由于涉及到具體的用戶業(yè)務(wù)請(qǐng)求,所以一般情況需要程序員根據(jù)業(yè)務(wù)需求開發(fā)。
1、mcv整體架構(gòu)和流程
用戶發(fā)送請(qǐng)求至前端控制器 DispatcherServlet
DispatcherServlet 收到請(qǐng)求調(diào)用 HandlerMapping 處理器映射器
處理器映射器根據(jù)請(qǐng)求 url 找到具體的處理器,生成處理器對(duì)象及處理器攔截器(如果有則生成)一并返回給 DispatcherServlet
DispatcherServlet 通過 HandlerAdapter 處理器適配器調(diào)用處理器Handler
Handler執(zhí)行處理器鏈(Controller,也叫后端控制器)
Controller 執(zhí)行完成返回 ModelAndView
HandlerAdapter 將 controller 執(zhí)行結(jié)果 ModelAndView 返回給 DispatcherServlet
DispatcherServlet 將 ModelAndView 傳給 ViewReslover 視圖解析器
ViewReslover 解析后返回具體 View
DispatcherServlet傳遞Model 對(duì) View 進(jìn)行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)
DispatcherServlet 響應(yīng)用戶
2、SpringMVC 框架組件概述在 SpringMVC 的各個(gè)組件中,處理器映射器、處理器適配器、視圖解析器稱為 SpringMVC 的三大組件。
DispatcherServlet:前端控制器
用戶請(qǐng)求到達(dá)前端控制器,它就相當(dāng)于 MVC 模式中的 C 層,DispatcherServlet 是整個(gè)流程控制的中心,由它調(diào)用其它組件處理用戶的請(qǐng)求,DispatcherServlet 的存在降低了組件之間的耦合性。
HandlerMapping:處理器映射器
HandlerMapping 負(fù)責(zé)根據(jù)用戶請(qǐng)求 url 找到 Handler 處理器,SpringMVC 提供了不同的映射器實(shí)現(xiàn)不同的映射方式,如配置文件方式、實(shí)現(xiàn)接口方式、注解方式等。
Handler:處理器
Handler 是繼 DispatcherServlet 前端控制器的后端控制器,在 DispatcherServlet 的控制下 Handler 對(duì)具體的用戶請(qǐng)求進(jìn)行處理。由于 Handler 涉及到具體的用戶業(yè)務(wù)請(qǐng)求,所以一般情況需要程序員根據(jù)業(yè)務(wù)需求開發(fā) Handler 。
HandlAdapter:處理器適配器
通過 HandlerAdapter 對(duì)處理器進(jìn)行執(zhí)行,這是適配器模式的應(yīng)用,通過擴(kuò)展適配器可以對(duì)更多類型的處理器進(jìn)行執(zhí)行。
ViewResolver:視圖解析器
View Resolver 負(fù)責(zé)將處理結(jié)果生成 View 視圖,View Resolver 首先根據(jù)邏輯視圖名解析成物理視圖名即具體的頁(yè)面地址,再生成View 視圖對(duì)象,最后對(duì)View進(jìn)行渲染將處理結(jié)果通過頁(yè)面展示給用戶。
View:視圖
SpringMVC 框架提供了很多的 View 視圖類型的支持,w而我們開發(fā)中最常用的視圖是 jsp 。3、SpringMVC 配置詳解
springmvc.xml
配置組件掃描器
配置處理器映射器
配置處理器適配器
配置注解驅(qū)動(dòng)
配置視圖解析器
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
最終 jsp 物理地址:前綴 + 邏輯視圖名 + 后綴,以上是springMvc的基本配置骨架,其中的組件都可以自由詳細(xì)配置。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/68834.html
摘要:現(xiàn)在給定一個(gè)項(xiàng)目的包結(jié)構(gòu)在中有以下配置只掃描注解可以看出要把最后的包寫上,不能包含子包,所以不能寫成。 大家好,我是豬弟,豬在我心中從來不是蠢的代名詞,而是懶的代名詞,本次準(zhǔn)備記錄一個(gè)在開發(fā)測(cè)試過程中遇到的問題,跟蹤了三天spring和第三方RPC組件的源碼,最終發(fā)現(xiàn)了問題是因?yàn)榈谌浇M件沒有處理好而父子容器導(dǎo)致的,還有一個(gè)因素是spring注解掃描重疊。 Spring版本:4.3...
摘要:源碼倉(cāng)庫(kù)本文倉(cāng)庫(kù)三層結(jié)構(gòu)表現(xiàn)層模型業(yè)務(wù)層持久層工作流程用戶前端控制器用戶發(fā)送請(qǐng)求前端控制器后端控制器根據(jù)用戶請(qǐng)求查詢具體控制器后端控制器前端控制器處理后結(jié)果前端控制器視圖視圖渲染視圖前端控制器返回視圖前端控制器用戶響應(yīng)結(jié) SpringMvc 【源碼倉(cāng)庫(kù)】【本文倉(cāng)庫(kù)】 三層結(jié)構(gòu) 表現(xiàn)層 MVC模型 業(yè)務(wù)層 service 持久層 dao 工作流程 用戶->前端控制器:用戶...
摘要:入門筆記簡(jiǎn)介是一種基于的實(shí)現(xiàn)了設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)框架,是系開源項(xiàng)目中的一個(gè),和配合使用。配置在中需要添加使用的和映射規(guī)則。入門較快,而掌握起來相對(duì)較難。 SpringMVC入門筆記 1. 簡(jiǎn)介 Spring MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架 ,是Spring系開源項(xiàng)目中的一個(gè),和IoC配合使用。通過策略接口,Spring...
摘要:框架搭建首先下載相應(yīng)的包,對(duì)于包有兩種方式使用創(chuàng)建依賴從而導(dǎo)入所需的包。總結(jié)主要進(jìn)行頁(yè)面的請(qǐng)求接受與響應(yīng)。組件包括前端控制器,處理器映射器,處理器適配器,視圖解析器,處理器,視圖。 我之前的文章介紹了如何搭建SSH框架以及如何利用這一框架來進(jìn)行web應(yīng)用開發(fā),最近我又接觸了SSM框架即Spring+SpringMVC+Mybatis三大框架的整合,而且目前該框架就SSH框架而言使用的較...
閱讀 3606·2021-11-15 11:38
閱讀 2801·2021-11-11 16:55
閱讀 2551·2021-11-08 13:22
閱讀 2628·2021-11-02 14:45
閱讀 1304·2021-09-28 09:35
閱讀 2568·2021-09-10 10:50
閱讀 463·2019-08-30 15:44
閱讀 2775·2019-08-29 17:06