Spring MVC請求處理流程

最近在學(xué)習(xí)Spring MVC,記錄一下自己對處理請求的流程的理解:

1. 瀏覽器發(fā)出請求,攜帶著描述用戶請求內(nèi)容的信息。

2. 請求的第一站是Spring的DispatcherServlet(Spring MVC的請求都會通過一個前端控制器Servlet,前端控制器是常用的Web應(yīng)用程序模式,而DispatcherServlet就是這個前端控制器),它的作用是把請求發(fā)送給視圖控制器。

3. 在應(yīng)用程序中通常都有多個控制器,DispatcherServlet需要知道將請求發(fā)往哪個控制器,具體的方法就是查詢處理器映射(handler mapping),這個處理器映射是通過@RequestMapping方法來建立的:在控制器中通過@RequestMapping(value=”訪問路徑”,method=GET,POST)規(guī)定相應(yīng)的URL由什么方法來響應(yīng),然后DispatcherServlet就將請求發(fā)給選中的控制器。

4. 控制器在完成處理以后,會返回一個字符串,這個字符串就是需要響應(yīng)的頁面。處理的過程可能會產(chǎn)生一些信息(model),將這些model添加到request的屬性里面,然后發(fā)往用戶瀏覽器。

5. 控制器返回的視圖名并不能定位視圖文件,還需要設(shè)置視圖解析器(ViewResolver),才能完成定位。在視圖解析器中設(shè)置視圖的路徑、前綴、后綴等參數(shù),組合起來就是類似“/WEB-INF/views/*.jsp”的字符串,再結(jié)合視圖控制器傳過來的視圖名,就明確了視圖文件的物理路徑,此時才得到真正的視圖。

6. 視圖文件jsp頁面解析request傳回的信息,例如其中的model,再格式化為html顯示,這樣,整個MVC流程就完成了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容