最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?MVC的完整執(zhí)行流程和常用組件詳解

 更新時(shí)間:2022年06月10日 10:27:12   作者:郭尕  
SpringMvc是Spring的一個(gè)基于MVC開(kāi)發(fā)的一個(gè)框架,用來(lái)處理前端請(qǐng)求,可以和Spring無(wú)縫整合,下面這篇文章主要給大家介紹了關(guān)于Spring?MVC的完整執(zhí)行流程和常用組件的相關(guān)資料,需要的朋友可以參考下

1.Spring MVC執(zhí)行流程

Spring MVC的完整執(zhí)行流程如下:

  1. 客戶端發(fā)送請(qǐng)求給DispatcherServlet前端控制器
  2. DispatcherServlet根據(jù)請(qǐng)求調(diào)用HandlerMapping處理器映射器
  3. HandlerMapping解析請(qǐng)求對(duì)應(yīng)的Handler,返回一個(gè)執(zhí)行鏈
  4. DispatcherServlet將執(zhí)行鏈返回的Handler信息發(fā)給HandlerAdapter處理器適配器
  5. HandlerAdapter會(huì)調(diào)用對(duì)應(yīng)的Handler處理器(即Controller)
  6. Handler執(zhí)行完成后,會(huì)返回一個(gè)ModelAndView對(duì)象給HandlerAdapter
  7. HandlerAdapter將接收到的ModelAndView對(duì)象返回給DispatcherServlet
  8. DispatcherServlet根據(jù)ModelAndView對(duì)象選擇合適的ViewResolver視圖解析器
  9. ViewResolver根據(jù)邏輯View返回實(shí)際的view給DispatcherServlet
  10. DispatcherServlet對(duì)View進(jìn)行渲染
  11. 將視圖渲染結(jié)果返回給瀏覽器(客戶端)

2.Spring MVC常用組件

2.1 DispatcherServlet

前端控制器。?戶請(qǐng)求到達(dá)前端控制器,它就相當(dāng)于MVC模式中的C,DispatcherServlet是整個(gè)流程控制的中?,由它調(diào)?其它組件處理?戶的請(qǐng)求,DispatcherServlet的存在降低了組件之間的耦合性,系統(tǒng)擴(kuò)展性提?。

<!--    SpringMVC的前端控制器-->
<servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--初始化時(shí)加載配置文件-->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc-config.xml</param-value>
    </init-param>
    <!--表示容器在啟動(dòng)時(shí)立即加載Servlet-->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

2.2 HandlerMapping

HandlerMapping,處理器映射器。根據(jù)?戶的請(qǐng)求地址來(lái)找到對(duì)應(yīng)的Handler即控制器,spring mvc提供了不同的映射器實(shí)現(xiàn)不同的映射?式,分別有:

  • xml配置?式
  • 實(shí)現(xiàn)接??式
  • 注解?式

2.3 HandlAdapter

HandlAdapter,處理器適配器。按照特定的規(guī)則去執(zhí)行Handler,通過(guò)HandlerAdapter執(zhí)行處理器。

2.4 Handler

Handler,處理器。Handler 是DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler對(duì)具體的?戶請(qǐng)求進(jìn)?處理。由于Handler涉及到具體的?戶業(yè)務(wù)請(qǐng)求,所以?般情況需要程序員根據(jù)業(yè)務(wù)需求開(kāi)發(fā)Handler。也就是我們常說(shuō)的控制器類和方法。

//標(biāo)識(shí)此類為控制器類
@Controller
public class JspController {

    @RequestMapping("/index")
    public String firstController(){
    	//返回視圖名稱
        return "success"; 
    }
}

2.5 ViewResolver

ViewResolver,視圖解析器。ViewResolver負(fù)責(zé)將處理結(jié)果?成View視圖,ViewResolver?先根據(jù)邏輯視圖名解析成物理視圖名即具體的頁(yè)?地址,再?成View視圖對(duì)象,最后對(duì)View進(jìn)?渲染將處理結(jié)果通過(guò)頁(yè)?展?給?戶。

 <!--默認(rèn)的內(nèi)置視圖解析器-->
<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <!--視圖前綴-->
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <!--視圖后綴-->
    <property name="suffix" value=".jsp"/>
</bean>

總結(jié)

到此這篇關(guān)于Spring MVC完整執(zhí)行流程和常用組件詳解的文章就介紹到這了,更多相關(guān)Spring MVC執(zhí)行流程和組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決java.lang.NullPointerException報(bào)錯(cuò)以及分析出現(xiàn)的幾種原因

    解決java.lang.NullPointerException報(bào)錯(cuò)以及分析出現(xiàn)的幾種原因

    這篇文章介紹了解決java.lang.NullPointerException報(bào)錯(cuò)的方法,以及分析出現(xiàn)的幾種原因。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Springboot框架實(shí)現(xiàn)自動(dòng)裝配詳解

    Springboot框架實(shí)現(xiàn)自動(dòng)裝配詳解

    在使用springboot時(shí),很多配置我們都沒(méi)有做,都是springboot在幫我們完成,這很大一部分歸功于springboot自動(dòng)裝配。本文將詳細(xì)為大家講解SpringBoot的自動(dòng)裝配原理,需要的可以參考一下
    2022-08-08
  • Java springboot 整合 Nacos的實(shí)例代碼

    Java springboot 整合 Nacos的實(shí)例代碼

    這篇文章主要介紹了Java springboot 整合 Nacos的實(shí)例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Java并發(fā)編程中的synchronized解析

    Java并發(fā)編程中的synchronized解析

    這篇文章主要介紹了Java并發(fā)編程中的synchronized解析,synchronized是一個(gè)重量級(jí)的鎖,使用不當(dāng)?shù)脑捚鋵?shí)會(huì)使我們程序執(zhí)行的效率大打折扣,今天我們就對(duì)其進(jìn)行講解,需要的朋友可以參考下
    2023-11-11
  • Java之HashMap.values()方法的誤用解讀

    Java之HashMap.values()方法的誤用解讀

    這篇文章主要介紹了Java之HashMap.values()方法的誤用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • java實(shí)現(xiàn)單機(jī)限流

    java實(shí)現(xiàn)單機(jī)限流

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)單機(jī)限流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Spring WebFlux實(shí)現(xiàn)參數(shù)校驗(yàn)的示例代碼

    Spring WebFlux實(shí)現(xiàn)參數(shù)校驗(yàn)的示例代碼

    請(qǐng)求參數(shù)校驗(yàn),在實(shí)際的應(yīng)用中很常見(jiàn),網(wǎng)上的文章大部分提供的使用注解的方式做參數(shù)校驗(yàn)。本文主要介紹 Spring Webflux Function Endpoint 使用 Spring Validation 來(lái)校驗(yàn)請(qǐng)求的參數(shù)。感興趣的可以了解一下
    2021-08-08
  • SpringBoot異步與事務(wù)一起使用的問(wèn)題解決

    SpringBoot異步與事務(wù)一起使用的問(wèn)題解決

    本文主要介紹了SpringBoot異步與事務(wù)一起使用的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringBoot中實(shí)現(xiàn)Druid前端監(jiān)控界面自動(dòng)登錄功能

    SpringBoot中實(shí)現(xiàn)Druid前端監(jiān)控界面自動(dòng)登錄功能

    這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)Druid前端監(jiān)控界面自動(dòng)登錄功能,需要的朋友可以參考下
    2024-08-08
  • mybatis?plus實(shí)現(xiàn)分頁(yè)邏輯刪除

    mybatis?plus實(shí)現(xiàn)分頁(yè)邏輯刪除

    這篇文章主要為大家介紹了mybatis?plus實(shí)現(xiàn)分頁(yè)邏輯刪除的方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論

松阳县| 丽江市| 改则县| 贵德县| 海口市| 宜兰县| 大安市| 三门峡市| 华池县| 松原市| 红桥区| 肇东市| 宿松县| 安庆市| 靖州| 石景山区| 闸北区| 友谊县| 东城区| 尖扎县| 永康市| 通化县| 台南市| 四会市| 谷城县| 宁海县| 图片| 宜宾市| 许昌县| 开化县| 新野县| 太原市| 弥勒县| 元谋县| 西乌| 江油市| 溧水县| 鲁甸县| 策勒县| 荣成市| 库尔勒市|