淺析spring mvc的細節

spring mvc 總體結構

系統監聽到請求  -> 通知tomcat  -> 根據web.xml 通知相應的攔截器(spring mvc 一般指DispatcherServlet) --> 檢查url是否有相匹配的請求實現  -->web

拿到請求實現bean的適配器(HandlerAdapter) --> 適配器經過RMI調用bean的方法拿到返回結果 --> 包裝返回結果ModelAndView --> 解析爲Viewspring

--> 視圖渲染  --> 返回請求結果.tomcat


  1. 獲取HandlerExecutionChain 對象mvc

    1. HandlerMappings遍歷取出HandlerMapping,經過HandlerMapping.getHandler()取出HandlerExecutionChain對象.
    2. HandlerMapping.getHandler()方法經過getHandlerInternal()方法,拿到對應的controller的bean.
    3. 經過getHandlerExecutionChain()包裝成HandlerExecutionChain對象返回.
    4. getHandlerInternal()方法經過對handlerMap遍歷匹配url,拿到對應的controller的bean.
  2. 經過getHandler()獲取HandlerAdapter對象app

  3. 經過mv = ha.handle(processedRequest, response, mappedHandler.getHandler());獲得視圖url

相關文章
相關標籤/搜索