javascript
SpringMVC 的执行流程
SpringMVC 的執行流程
1)用戶向服務器發送請求,請求被 Spring 前端控制 Servelt DispatcherServlet捕獲;
2)DispatcherServlet 對請求 URL 進行解析,得到請求資源標識符(URI)。然后根據該 URI,調用 HandlerMapping 獲得該 Handler 配置的所有相關的對象 (包括Handler 對象以及 Handler 對象對應的攔截器),最后以 HandlerExecutionChain 對象
的形式返回;
3)DispatcherServlet 根據獲得的 Handler,選擇一個合適的 HandlerAdapter。(附注:如果成功獲得 HandlerAdapter 后,此時將開始執行攔截器的 preHandler(...)方法)
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)將渲染結果返回給客戶端。
快速記憶:
核心控制器捕獲請求,查找 Hander,執行 Handler,選擇 ViewResolver,通過
ViewResoler 渲染視圖并返回
總結
以上是生活随笔為你收集整理的SpringMVC 的执行流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python nodemcu_pytho
- 下一篇: 招行信用卡汽车分期条件 招行信用卡汽车分