Spring MVC開發步驟以及執行流程


開發步驟

1.在web.xml中定義前端控制器DispatcherServlet來攔截用戶請求。

2.如果要以post方式提交請求,則定義包含表單數據的jsp頁面。如果是以get方式發送請求,則無需經過這一步

3.定義處理用戶請求的handler,可以實現Controller接口,或者使用@Controller注解。

這一步是必不可少的,因為DispatcherServlet是MVC的C,也就是前端控制器,該控制器負責接受請求,並將請求分發給對應的handler,即實現Contrller接口的java類,該java類負責調用后台業務邏輯代碼來處理請求。

在SpringMVC中,控制器實際上是由兩個部分共同完成的。即攔截所有用戶請求和處理請求的通用代碼都是前端控制器DispatcherServlet完成,而實際的業務控制,比如調用后台業務邏輯代碼,返回處理結果,則由Controller處理。

4.配置handler。

<!--配置handler,映射/hello請求-->

<bean name="/hello" class="com.game.HelloController">

Spring2.5后用注解來配置handler

@Controller

public class HelloController

{

  @RequestMapping(value="/hello")

  public ModelAndView hello()

  {}

}

5.編寫視圖資源

當handler處理用戶請求結束后,通常會返回一個ModelAndView對象,該對象應該包含返回的視圖名和模型,這個試圖名就代表需要顯示的物理視圖資源。

 

 

執行流程

 

SpringMVC的應用開發流程實際上按照請求響應流程來開發。

1.用戶向服務器發送請求,請求被Spring的前端控制器DispatcherServlet攔截

2.DispatcherServlet對請求URL(統一資源定位符)進行解析,得到URI(請求資源標識符)。然后根據該URI,調用HandlerMapping獲得該Handler配置的所有相關的對象,包括Handler對象以及對應的攔截器,這些對象被封裝到一個HandlerExecutionChain對象當中返回

3.DispatcherServlet根據獲得Handler,選擇一個合適的HandlerAdapter。它會被用於處理多種Handler,調用Handler實際處理請求的方法。

4.提取請求中的模型數據,開始執行Handler

5.Handler執行完成后,想DispatcherServlet返回一個ModelAndView對象。

6.根據返回的ModelAndView對象,選擇一個合適的ViewResolver(視圖解析器)返回給DispatcherServlet.

7.ViewResolver結合Model和View來渲染視圖。

8.將視圖渲染結果返回給客戶端。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM