1、目標方法處理的過程中,所有資料都會被放在 modelandviewcontainer 裡面。包括資料和檢視位址
2、方法的引數是乙個自定義型別物件(從請求引數中確定的),把他重新放在 modelandviewcontainer
3、任何目標方法執行完成以後都會返回 modelandview(資料和檢視位址)。
4、processdispatchresult 處理派發結果(頁面改如何響應)
• 1、render(mv, request, response); 進行頁面渲染邏輯
• 1、根據方法的string返回值得到 view 物件【定義了頁面的渲染邏輯】
• 1、所有的視**析器嘗試是否能根據當前返回值得到view物件
• 2、得到了 redirect:/main.html --> thymeleaf new redirectview()
• 3、contentnegotiationviewresolver 裡面包含了下面所有的視**析器,內部還是利用下面所有視**析器得到檢視物件。
• 4、view.render(mv.getmodelinternal(), request, response); 檢視物件呼叫自定義的render進行頁面渲染工作
• redirectview 如何渲染【重定向到乙個頁面】
• 1、獲取目標url位址
• 2、response.sendredirect(encodedurl);
視**析:
• 返回值以 forward: 開始: new internalresourceview(forwardurl); --> **request.getrequestdispatcher(path).forward(request, response);
• 返回值以 redirect: 開始: new redirectview() --》 render就是重定向
• 返回值是普通字串: new thymeleafview()—>
自定義視**析器+自定義檢視; 大廠學院。 c
SpringBoot2學習筆記(六)單元測試
單元測試對提高 質量,重構 都有極大的作用!個人平時也比較注重單元測試的編寫,以上是閱讀 springboot 2精髓 一書的個人總結。首先是介紹下junit的相關概念。概念說明 assert 測試條件,當條件不成立時丟擲異常。如 assert.assertsame message,expected...
SpringBoot2啟動流程
springboot如果要說是springframework的封裝那麼也不全是,個人認為從思想上來說是兩個東西。springboot主要具備如下特性 1.自動裝配 2.內建tomcat等web容器 3.與devops天然整合,這也可以認為是微服務的特點。下面咱們看下 public class pub...
SpringBoot2 擴充套件介面
判斷乙個框架或者程式的好壞直觀的方法就是看其擴充套件性如何。毫無疑問spring擴充套件性這方面做的不錯。說到擴充套件主要還是在容器的refresh這塊,也有listener 這一塊先放放 實現原則嚴格按照開閉原則,內部修改關閉,對擴充套件開放 咱們先看一張流程圖 如上圖中主要的畫出來了具體的執行流...