SpringMvc的工做原理

一:springMVC的工做原理web

1.用戶發出請求,到DispatcherServlet[前段控制器]接受。前段控制器把請求url交給HandlerMapping[請求映射器],HandlerMapping會根據url尋找對應的handler對象,而且把handler對象返回給DispatcherServlet。spring

2.DispatcherServlet把handler對象交給HandlerAdapter[請求處理器適配器],HandlerAdapter根據handler對象執行對應的方法,返回給DispatcherServlet一個ModelAndView邏輯視圖對象mvc

3.DispatcherServlet把ModelAndView對應交給ViewResolver[視圖解析器],ViewResolver把邏輯視圖解析爲物理視圖view,而且把view返回給DispatcherServletapp

4.DispatcherServlet吧view對象響應給用戶jsp

二:springMVC的配置:url

1.在web.xml中配置DispatcherServlet核心分配器:spa

<servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <!-- 默認加載方式
         默認加載必須規範:
         * 文件命名:servlet-name-servlet.xml====springmvc-servlet.xml
         * 路徑規範:必須在WEB-INF目錄下面
   -->
   <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:springmvc.xml</param-value>   
   </init-param>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>*.do</url-pattern>
  </servlet-mapping>xml

2.建立springmvc.xml配置文件,對象

2.1配置handlerMapping處理器映射器接口

其中handlerMapping處理器映射器有三種:

1.BeanNameUrlHandlerMapping:默認的映射器。【根據bean(自定義Controler)的name屬性的url去尋找hanler(Action:Controller)】

2.SimpleUrlHandlerMapping: 簡單的映射器。【把Url進行集中配置】

3.ControllerClassNameHandlerMapping 【經過類名.do 形式來訪問controller】

2.2配置HttpRequestHandlerAdapter [處理器適配器]。其中處理器適配器有兩種:

1.SimpleControllerHandlerAdapter 【springmvc默認的SimpleControllerHandlerAdapter:執行Controller】

2.2.HttpRequestHandlerAdapter【HTTP請求處理器適配器:將http請求封裝成HttpServletResquest 和HttpServletResponse對象,和servlet接口相似】

總結:適配器能夠共存,只是控制器實現不一樣的接口使用不一樣的適配器而已。

注意:SimpleControllerHandlerAdapter是默認的適配器。若是使用後面這個適配器必須手動配置。不然將會訪問失敗。

3.配置視圖解析器【InternalResourceViewResolve:解析邏輯試圖 後臺返回邏輯試圖:index 視圖解析器解析出真正物理視圖:前綴+邏輯試圖+後綴====/WEB-INF/jsps/index.jsp】

 

4.配置對應的controller在springmvc.xml中的<bean>

相關文章
相關標籤/搜索