欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • SpringCloud?Gateway詳細(xì)分析實(shí)現(xiàn)負(fù)載均衡與熔斷和限流

    SpringCloud?Gateway詳細(xì)分析實(shí)現(xiàn)負(fù)載均衡與熔斷和限流

    這篇文章主要介紹了SpringCloud?Gateway實(shí)現(xiàn)路由轉(zhuǎn)發(fā),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • springboot中RestTemplate配置HttpClient連接池詳解

    springboot中RestTemplate配置HttpClient連接池詳解

    這篇文章主要介紹了springboot中RestTemplate配置HttpClient連接池詳解,這些Http連接工具,使用起來(lái)都比較復(fù)雜,如果項(xiàng)目中使用的是Spring框架,可以使用Spring自帶的RestTemplate來(lái)進(jìn)行Http連接請(qǐng)求,需要的朋友可以參考下
    2023-11-11
  • Nacos封裝通用HttpClient詳解

    Nacos封裝通用HttpClient詳解

    這篇文章主要介紹了Nacos封裝通用HttpClient用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot后端接收數(shù)組對(duì)象的實(shí)現(xiàn)

    SpringBoot后端接收數(shù)組對(duì)象的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot后端接收數(shù)組對(duì)象的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java中Console對(duì)象實(shí)例代碼

    Java中Console對(duì)象實(shí)例代碼

    這篇文章主要介紹了Java中Console對(duì)象實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能(上)

    springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能(上)

    這篇文章主要為大家詳細(xì)介紹了springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能,比較基礎(chǔ)的學(xué)習(xí)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • SpringBoot開(kāi)發(fā)之整合Mybatis詳解

    SpringBoot開(kāi)發(fā)之整合Mybatis詳解

    這篇文章主要介紹了SpringBoot開(kāi)發(fā)之整合Mybatis詳解,MyBatis是一個(gè)半自動(dòng)的ORM框架,它允許我們通過(guò)編寫SQL語(yǔ)句來(lái)操作數(shù)據(jù)庫(kù),使用MyBatis,我們可以通過(guò)定義映射文件(XML文件)或使用注解的方式將Java對(duì)象與數(shù)據(jù)庫(kù)表進(jìn)行映射,需要的朋友可以參考下
    2023-09-09
  • Spring中如何使用Comparator接口

    Spring中如何使用Comparator接口

    Comparator比較器接口可以將自身傳遞給排序方法(比如Collections.sort或Arrays.sort),以便對(duì)排序順序進(jìn)行精確控制。本文講述Spring中如何使用Comparator接口
    2021-06-06
  • Java中LinkedList原理代碼解析

    Java中LinkedList原理代碼解析

    這篇文章主要介紹了Java中LinkedList原理代碼解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • SpringMVC請(qǐng)求、響應(yīng)和攔截器的使用實(shí)例詳解

    SpringMVC請(qǐng)求、響應(yīng)和攔截器的使用實(shí)例詳解

    攔截器(Interceptor) 它是一個(gè)Spring組件,并由Spring容器管理,并不依賴Tomcat等容器,是可以單獨(dú)使用的,這篇文章給大家介紹SpringMVC請(qǐng)求、響應(yīng)和攔截器的使用,感興趣的朋友一起看看吧
    2024-03-03

最新評(píng)論