天天看點

SpringMVC+FreeMarker

   最近在學習SpringMVC,模闆引擎用的是FreeMarker,之前沒有接觸過。利用SpringMVC開發其實還有許多的步驟,比如控制層,服務層,持久化層,實體等等,先弄了一個小demo來總結一下SpringMVC的開發流程。

  http://localhost:port/項目名稱/home/getUser

  摘自:http://jinnianshilongnian.iteye.com/blog/1594806

SpringMVC+FreeMarker

1、  首先使用者發送請求——>DispatcherServlet,前端控制器收到請求後自己不進行處理,而是委托給其他的解析器進行處理,作為統一通路點,進行全局的流程控制;

2、  DispatcherServlet——>HandlerMapping, HandlerMapping将會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象,通過這種政策模式,很容易添加新的映射政策;

3、  DispatcherServlet——>HandlerAdapter,HandlerAdapter将會把處理器包裝為擴充卡,進而支援多種類型的處理器,即擴充卡設計模式的應用,進而很容易支援很多類型的處理器;

4、  HandlerAdapter——>處理器功能處理方法的調用,HandlerAdapter将會根據适配的結果調用真正的處理器的功能處理方法,完成功能處理;并傳回一個ModelAndView對象(包含模型資料、邏輯視圖名);

5、  ModelAndView的邏輯視圖名——> ViewResolver, ViewResolver将把邏輯視圖名解析為具體的View,通過這種政策模式,很容易更換其他視圖技術;

7、傳回控制權給DispatcherServlet,由DispatcherServlet傳回響應給使用者,到此一個流程結束。

  注:如果想要更清楚SpringMVC的流程,就要看一下DispatcherServlet的源碼。