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

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

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

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

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

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

2.Spring MVC常用組件

2.1 DispatcherServlet

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

<!--    SpringMVC的前端控制器-->
<servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--初始化時加載配置文件-->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc-config.xml</param-value>
    </init-param>
    <!--表示容器在啟動時立即加載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,處理器映射器。根據?戶的請求地址來找到對應的Handler即控制器,spring mvc提供了不同的映射器實現不同的映射?式,分別有:

  • xml配置?式
  • 實現接??式
  • 注解?式

2.3 HandlAdapter

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

2.4 Handler

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

//標識此類為控制器類
@Controller
public class JspController {

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

2.5 ViewResolver

ViewResolver,視圖解析器。ViewResolver負責將處理結果?成View視圖,ViewResolver?先根據邏輯視圖名解析成物理視圖名即具體的頁?地址,再?成View視圖對象,最后對View進?渲染將處理結果通過頁?展?給?戶。

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

總結

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

相關文章

  • 解決java.lang.NullPointerException報錯以及分析出現的幾種原因

    解決java.lang.NullPointerException報錯以及分析出現的幾種原因

    這篇文章介紹了解決java.lang.NullPointerException報錯的方法,以及分析出現的幾種原因。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Springboot框架實現自動裝配詳解

    Springboot框架實現自動裝配詳解

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

    Java springboot 整合 Nacos的實例代碼

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

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

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

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

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

    java實現單機限流

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

    Spring WebFlux實現參數校驗的示例代碼

    請求參數校驗,在實際的應用中很常見,網上的文章大部分提供的使用注解的方式做參數校驗。本文主要介紹 Spring Webflux Function Endpoint 使用 Spring Validation 來校驗請求的參數。感興趣的可以了解一下
    2021-08-08
  • SpringBoot異步與事務一起使用的問題解決

    SpringBoot異步與事務一起使用的問題解決

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

    SpringBoot中實現Druid前端監(jiān)控界面自動登錄功能

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

    mybatis?plus實現分頁邏輯刪除

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

最新評論

信宜市| 莲花县| 襄汾县| 鄂州市| 新郑市| 湘潭市| 南漳县| 包头市| 田阳县| 松阳县| 白银市| 白沙| 栾城县| 日喀则市| 金平| 白玉县| 交城县| 东海县| 修文县| 佛学| 南平市| 大新县| 盐源县| 河北省| 额尔古纳市| 博客| 南皮县| 扬中市| 梁平县| 腾冲县| 普宁市| 丹江口市| 蓝山县| 思茅市| 莱西市| 土默特右旗| 肇东市| 寿阳县| 册亨县| 长汀县| 广昌县|