SpringMVC執行流程和原理


SpringMVC流程:

01、用戶發送出請求到前端控制器DispatcherServlet

02DispatcherServlet收到請求調用HandlerMapping(處理器映射器)。

03HandlerMapping找到具體的處理器(可查找xml配置或注解配置),生成處理器對象及處理器攔截器(如果有),再一起返回給DispatcherServlet

04DispatcherServlet調用HandlerAdapter(處理器適配器)。

05HandlerAdapter經過適配調用具體的處理器(Handler/Controller)。

06Controller執行完成返回ModelAndView對象。

07HandlerAdapterController執行結果ModelAndView返回給DispatcherServlet

08DispatcherServletModelAndView傳給ViewReslover(視圖解析器)。

09ViewReslover解析后返回具體View(視圖)。

10DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。

11DispatcherServlet響應用戶。

涉及組件分析:

1、前端控制器DispatcherServlet(不需要程序員開發),由框架提供,在web.xml中配置。

作用:接收請求,響應結果,相當於轉發器,中央處理器。

 

2、處理器映射器HandlerMapping(不需要程序員開發),由框架提供。

作用:根據請求的url查找Handler(處理器/Controller),可以通過XML和注解方式來映射。

 

3、處理器適配器HandlerAdapter(不需要程序員開發),由框架提供。

作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler。

 

4、處理器Handler(也稱之為Controller,需要工程師開發)

注意:編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執行Handler。

作用:接受用戶請求信息,調用業務方法處理請求,也稱之為后端控制器。

 

5、視圖解析器ViewResolver(不需要程序員開發),由框架提供

作用:進行視圖解析,把邏輯視圖名解析成真正的物理視圖。

SpringMVC框架支持多種View視圖技術,包括:jstlView、freemarkerView、pdfView等。

 

6、視圖View(需要工程師開發)

作用:把數據展現給用戶的頁面

View是一個接口,實現類支持不同的View技術(jsp、freemarker、pdf等)

具體組件的配置相關,請查閱

spring-webmvc-4.3.2.RELEASE.jar 包

下面

/org/springframework/web/servlet/DispatcherServlet.properties 的相關配置

 

 


免責聲明!

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



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