歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 了解SpringMVC框架及基本工作流程

了解SpringMVC框架及基本工作流程

日期:2017/3/1 9:11:16   编辑:Linux編程

傳統原生的JSP+Servlet在開發上過程上雖然簡單明了,JSP頁面傳遞數據到Servlet,Servlet整理數據(邏輯開發)或者從數據庫提取數據接著再轉發到JSP頁面上,但是其似乎只能止步於此,我們都知道我們request和response都依賴於url,當我們想要通過針對圍繞url進行編程的話單純的JSP+Servlet在實現上只有過濾器Filter在抵達相對應的Servlet之前起作用,但是如果我們想要在Servlet轉發或者重定向之後再進行一些工作呢?一個url對應一個Servlet,項目需求的url稍微復雜了一些,其相對應的Servlet的數量將十分龐大,諸多問題,在這裡便不多講了,而這些問題,基本都在SpringMVC中得以解決。

SpringMVC圍繞著Servlet進行開發Web,代碼的實現上同時也依賴Spring開發,不然也不會叫做SpringMVC,本文著重強調的重點在於SpringMVC的工作流程,並不設計具體代碼開發,所以並不要求掌握Spring的知識

1.從第一點開始,請求的開始當然來源的用戶訪問的url,之後SpringMVC的工作正式開始,就好比一個人進城,必須要先經過城門才能進去,請求也是一樣,他必須先經過一個叫做Dispatcher Servlet的前端控制器,

2.之後,你總要有工作地點吧(請求需要工作),可是不認路啊(請求需要在哪裡被分析),所以你需要先去找到地圖,然後在地圖上找到地點,在SpringMVC中,從Dispatcher Servlet開始率先找到Handler Mapper,該組件映射找到工作點的老板(HandlerAdapter)。

3.到這裡我們僅僅是知道怎麼找到工作點而已,而且路徑是從城門(Dispatcher Servlet前端控制器)開始的,我們按照地圖(HandlerMapper組件裡面的信息)的指引找到了指使我們工作的HandlerAdapter。

4.老板指使我們工作,此時我們化身為員工(Handler,也就是請求所對應的事件),我們工作的內容就控制層(也就是MVC中的C)下請求url所對應的方法,工作完成之後,我們需要提交工作數據呈現給老板看(返回ModelAndView對象給HandlerAdapter)

5.之後老板把你的工作數據貼到城門上(將ModelAndView對象返回給DispatcherServlet),再經歷一番修飾後呈現給來往的商人(用戶)

一個從大局上觀看的基本流程大概就是如此,然而SpringMVC在具體的實現上遠比這復雜許多,基本上在普通項目開發下我們在配置完SpringMVC要求配置環境後,所需要開發的地方就只有視圖層和控制層,控制層裡面的代碼一般是有邏輯層和數據層的實現。

下面是我用思維導圖制作的流程,比文字看起來直觀一些。

SpringMVC+MyBatis集成配置 http://www.linuxidc.com/Linux/2016-09/135212.htm

SpringMVC總結篇 http://www.linuxidc.com/Linux/2016-06/132659.htm

Spring+SpringMVC企業快速開發架構搭建 http://www.linuxidc.com/Linux/2015-09/122942.htm

SpringMVC的亂碼處理 http://www.linuxidc.com/Linux/2015-07/120542.htm

Spring MVC+Spring3+Hibernate4開發環境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm

Spring MVC整合Freemarker基於注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm

基於注解的Spring MVC簡單介紹 http://www.linuxidc.com/Linux/2012-02/54896.htm

SpringMVC詳細示例實戰教程 http://www.linuxidc.com/Linux/2015-06/118461.htm

Spring MVC 框架搭建及詳解 http://www.linuxidc.com/Linux/2012-01/52740.htm

SpringMVC 異常處理 http://www.linuxidc.com/Linux/2015-06/119049.htm

SpringMVC框架入門配置 IDEA下搭建Maven項目 http://www.linuxidc.com/Linux/2016-09/134918.htm

Copyright © Linux教程網 All Rights Reserved