SpringMVC是一款基於Java開發的輕量級Web MVC框架,是當下主流的MVC框架之一,它較Struts更簡單、更安全。既然如此,那在Java Web開發崗位面試中定會經常被問及SpringMVC的請求處理流程,不少開發者對此依舊是模糊的。
還是以圖片流程來講解,其流程主要有:
1、使用者發起Web請求後到達Web容器(如:Tomcat/Jetty),伺服器再將請求物件(HttpServletRequest)交給前置控制器(DispatcherServlet)。這裡的前置控制器就是SpringMVC的核心入口,攔截匹配的請求。
2、前置控制器收到請求後會在doService()方法中設定一些屬性,然後再將請求交給請求處理介面卡(HandlerAdapter)。
3、請求處理介面卡再去找到對應的請求處理器(Handler)去進一步處理請求(其實就是執行此請求要做的業務方法)。
4、請求處理器處理好請求後,返回一個ModelAndView物件並生成對應的頁面再次交給前置控制器,由前置控制器將響應資料返回客戶端。
以上就是SpringMVC請求處理的核心流程,看起來很簡單,但內部做的事情遠不止這些。
SpringMVC是一款基於Java開發的輕量級Web MVC框架,是當下主流的MVC框架之一,它較Struts更簡單、更安全。既然如此,那在Java Web開發崗位面試中定會經常被問及SpringMVC的請求處理流程,不少開發者對此依舊是模糊的。
SpringMVC請求處理流程還是以圖片流程來講解,其流程主要有:
1、使用者發起Web請求後到達Web容器(如:Tomcat/Jetty),伺服器再將請求物件(HttpServletRequest)交給前置控制器(DispatcherServlet)。這裡的前置控制器就是SpringMVC的核心入口,攔截匹配的請求。
2、前置控制器收到請求後會在doService()方法中設定一些屬性,然後再將請求交給請求處理介面卡(HandlerAdapter)。
3、請求處理介面卡再去找到對應的請求處理器(Handler)去進一步處理請求(其實就是執行此請求要做的業務方法)。
4、請求處理器處理好請求後,返回一個ModelAndView物件並生成對應的頁面再次交給前置控制器,由前置控制器將響應資料返回客戶端。
以上就是SpringMVC請求處理的核心流程,看起來很簡單,但內部做的事情遠不止這些。