- N +

springmvc執行流程簡述 簡述mvc的工作流程

大家好,今天小編來為大家解答springmvc執行流程簡述這個問題,簡述mvc的工作流程很多人還不知道,現在讓我們一起來看看吧!

SpringMVC事務回滾機制是什么

回滾段是數據庫的一部分,它記錄數據庫變更的信息。使用這些信息實現數據庫的讀一致性及其恢復。若回滾段出現故障,則數據庫不能正常啟動,導致數據庫癱瘓,用戶無法讀寫數據。若能將回滾段的故障排除,則不會影響用戶的實際數據。筆者最近在實際工作中遇到一個問題:用戶將回滾段表空間(rbs)的數據庫文件(rbs01.dbf)錯誤刪除,以致使數據庫無法正常運行

springmvc重要組件

SpringMVC重要的五大組件:

DispatcherServlet、HandleMapping、Controller、ModeAndView、ViewResolver。

1.DispatcherServlet

這個控件是SpringMVC最核心的一個控件,顧名思義其實他就是一個Servlet,是Spring寫好的一個Servlet

2.HandleMapping

控件標明了路徑與Controller的對應關系,不同的路徑訪問不同的Controller

3.Controller

用來處理業務邏輯的Java類

4.ModeAndView

Mode用來綁定處理后所得的數據,View視圖名

5.ViewResolver

視圖解析器明確了視圖名與視圖對象的關系,是調用demo.jsp還是調用demo.html,以及明確視圖的位置

獨立的main方法調用Spring MVC框架中的service

這個service不能這么new出來,需要在main方法中得到spring容器publicclassSpringTest{publicstaticvoidmain(String[]args){ApplicationContextac=newClassPathXmlApplicationContext("bean.xml");IPersonServiceips=(IPersonService)ac.getBean("personService");ips.sayHelloToSpring();}},再用容器的getBean(“”)來得到service,這樣,是spring容器就把之間的關系都注入好了。這是我寫過的一個用main方法做測試的例子。真正的測試是不用main方法的,是用專門的測試工具來模擬web程序的。

springmvc 多步流程

工作流程(12步)

1.DispatcherServlet(前端控制器)接收用戶的請求;

2.DispatcherServlet調用HandlerMapping(處理器映射器),找到合適的Handler;

3.HandlerMapping(處理器映射器)返回HandlerExecutionChain(合適的Handler的位置)給DispatcherServlet;

4.發送請求到HandlerAdapter(處理器適配器)(打一個比方:家用電的電壓為220V,我們的電腦或手機所需要的電壓各不相同,所以就需要有電源適配器來起到橋梁作用,這里的處理器適配器也是同樣的作用);

5.HandlerAdapter(處理器適配器)將請求交給Handler(處理器)去執行;

6.Handler(處理器)執行請求,并將處理后的結果封裝成為一個ModelAndView對象,返回給HandlerAdapter(處理器適配器);

7.HandlerAdapter(處理器適配器)將ModelAndView對象返回給DispatcherServlet;

8.DispatcherServlet調用InternalResourceViewResolver(視圖解析器)請求視圖解析;

9.InternalResourceViewResolver(視圖解析器)解析視圖后返回給DispatcherServlet;

10.DispatcherServlet請求渲染視圖;

11.View(視圖)將渲染好的視圖返回給DispatcherServlet;

12.DispatcherServlet響應用戶的請求。

mvc操作流程

SpringMVC工作流程描述:

1.用戶向服務器發送請求,請求被Spring前端控制ServeltDispatcherServlet捕獲;

2.DispatcherServlet對請求URL進行解析,得到請求資源標識符(URI)。然后根據該URI,調用HandlerMapping獲得該Handler配置的所有相關的對象(包括Handler對象以及Handler對象對應的攔截器),最后以HandlerExecutionChain對象的形式返回;

3.DispatcherServlet根據獲得的Handler,選擇一個合適的HandlerAdapter;

4.提取Request中的模型數據,填充Handler入參,開始執行Handler(Controller)。

在填充Handler的入參過程中,根據你的配置,Spring將幫你做一些額外的工作:

HttpMessageConveter:將請求消息(如Json、xml等數據)轉換成一個對象,將對象轉換為指定的響應信息。

數據轉換:對請求消息進行數據轉換。如String轉換成Integer、Double等。

數據根式化:對請求消息進行數據格式化。如將字符串轉換成格式化數字或格式化日期等。

數據驗證:驗證數據的有效性(長度、格式等),驗證結果存儲到BindingResult或Error中。

5.Handler執行完成后,向DispatcherServlet返回一個ModelAndView對象;

6.根據返回的ModelAndView,選擇一個適合的ViewResolver(必須是已經注冊到Spring容器中的ViewResolver)返回給DispatcherServlet;

7.ViewResolver結合Model和View,來渲染視圖;

8.將渲染結果返回給客戶端。

springmvc的工作流程是什么

spring工作的流程

流程如下:

1、用戶發起請求到前端控制器(DispatcherServlet),該控制器會過濾出哪些請求可以訪問Servlet、哪些不能訪問。就是url-pattern的作用,并且會加載springmvc.xml配置文件。

2、前端控制器會找到處理器映射器(HandlerMapping),通過HandlerMapping完成url到controller映射的組件,簡單來說,就是將在springmvc.xml中配置的或者注解的url與對應的處理類找到并進行存儲,用map<url,handler>這樣的方式來存儲。

3、HandlerMapping有了映射關系,并且找到url對應的處理器,HandlerMapping就會將其處理器(Handler)返回,在返回前,會加上很多攔截器。

4、DispatcherServlet拿到Handler后,找到HandlerAdapter(處理器適配器),通過它來訪問處理器,并執行處理器。

5、執行處理器

6、處理器會返回一個ModelAndView對象給HandlerAdapter

7、通過HandlerAdapter將ModelAndView對象返回給前端控制器(DispatcherServlet)

8、前端控制器請求視圖解析器(ViewResolver)去進行視圖解析,根據邏輯視圖名解析成真正的視圖(jsp),其實就是將ModelAndView對象中存放視圖的名稱進行查找,找到對應的頁面形成視圖對象

9、返回視圖對象到前端控制器。

10、視圖渲染,就是將ModelAndView對象中的數據放到request域中,用來讓頁面加載數據的。

11、通過第8步,通過名稱找到了對應的頁面,通過第10步,request域中有了所需要的數據,那么就能夠進行視圖渲染了。最后將其返回即可。

OK,關于springmvc執行流程簡述和簡述mvc的工作流程的內容到此結束了,希望對大家有所幫助。

返回列表
上一篇:
下一篇: