真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用SpringMVC如何啟動初始化

今天就跟大家聊聊有關(guān)使用Spring MVC如何啟動初始化,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了昆明免費建站歡迎大家使用!

Web容器初始化過程

web容器初始化的過程,其官方文檔給出了這樣的描述:

  1. Instantiate an instance of each event listener identified by a element in the deployment descriptor.For instantiated listener instances that implement ServletContextListener, call the contextInitialized() method.

  2. Instantiate an instance of each filter identified by a element in the deployment descriptor and call each filter instance's init() method.

  3. Instantiate an instance of each servlet identified by a element that includes a element in the order defined by the load-on-startup element values, and call each servlet instance's init() method.

其初始化的過程實際如下:

使用Spring MVC如何啟動初始化

SpringMVC 的 web.xml配置

web.xml 配置代碼:

 
 
 
  
  contextConfigLocation 
  classpath:applicationContext.xml 
  
 
  
  org.springframework.web.context.ContextLoaderListener 
  
 
 
  
  mvc-dispatcher 
   
   org.springframework.web.servlet.DispatcherServlet 
   
  1 
  
                                   
  
  mvc-dispatcher 
  / 
  
 
  • 標簽中定義了spring容器加載器

  • 標簽中定義了spring前端控制器

在 Servlet API中有一個ServletContextListener接口,它能夠監(jiān)聽ServletContext對象的生命周期,實際上就是監(jiān)聽Web應用的生命周期。當Servlet容器啟動或終止Web應用時,會觸發(fā)ServletContextEvent事件,該事件由ServletContextListener來處理。在ServletContextListener接口中定義了處理ServletContextEvent 事件的兩個方法contextInitialized()contextDestroyed() 。

ContextLoaderListener監(jiān)聽器的作用就是啟動Web容器時,自動裝配ApplicationContext的配置信息。因為它實現(xiàn)了ServletContextListener這個接口,在web.xml配置了這個監(jiān)聽器,啟動容器時,就會默認執(zhí)行它實現(xiàn)的方法。由于在ContextLoaderListener中關(guān)聯(lián)了ContextLoader這個類,所以整個加載配置過程由ContextLoader來完成。

DispatchServlet初始化

在SpringMVC架構(gòu)中,DispatchServlet負責請求分發(fā),起到控制器的作用。下面詳細來解釋說明:

使用Spring MVC如何啟動初始化

  • DispatchServlet名如其義,它的本質(zhì)上是一個Servlet,子類不斷的對HttpServlet父類進行方法擴展

  • HttpServlet有兩大核心方法:init()和service()方法。HttpServletBean重寫了init()方法,在這部分,我們可以看到其實現(xiàn)思路:公共的部分統(tǒng)一來實現(xiàn),變化的部分統(tǒng)一來抽象,交給其子類來實現(xiàn),故用了abstract class來修飾類名。此外,HttpServletBean提供了一個HttpServlet的抽象實現(xiàn),使的Servlet不再關(guān)心init-param部分的賦值,讓servlet更關(guān)注于自身Bean初始化的實現(xiàn)

  • FrameworkServlet提供了整合web javabean和spring application context的整合方案。在源碼中可以看到通過執(zhí)行initWebApplicationContext()方法和initFrameworkServlet()方法實現(xiàn)

  • DispatchServlet是HTTP請求的中央調(diào)度處理器,它將web請求轉(zhuǎn)發(fā)給controller層處理,它提供了敏捷的映射和異常處理機制,DispatchServlet轉(zhuǎn)發(fā)請求的核心代碼在doService()方法中實現(xiàn)

DispatchServlet類和ContextLoaderListener類的關(guān)系圖:

使用Spring MVC如何啟動初始化

用ContextLoaderListener初始化上下文,接著使用DispatchServlet來初始化WebMVC的上下文

看完上述內(nèi)容,你們對使用Spring MVC如何啟動初始化有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


當前文章:使用SpringMVC如何啟動初始化
本文URL:http://weahome.cn/article/gcppdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部