Spring MVC HandlerMapping

http://www.cnblogs.com/tengyunhao/p/7658952.htmlhtml

http://www.cnblogs.com/tengyunhao/p/7518481.htmlweb

Spring MVC中的 HandlerMapping 是請求處處理器映射,即請求的URL到Controller的映射,經過URL找到響應的Controlelr控制器。app

做用是根據當前請求的找到對應的Handler,並將Handler與一堆HandlerInterceptor(攔截器)封裝到HandlerExceutionChain對象中。在HandlerMapping接口的內部只有一個方法,以下:測試

  HandlerExecutionChain getHandler(HttpServletRequest request)spa

HandlerMapping 是由 DispatcherServlet 調用,DispatcherServlet 會從容器中取出全部HandlerMapping 實例並遍歷,讓 HandlerMapping 實例根據本身實現類的方式去嘗試查找 Handler。3d

 

三個HandlerMappingxml

HandlerExecutionChain 對象htm

 ===================================================================對象

三個HandlerMapping:blog

一、RequestMappingHandlerMapping

二、SimpleUrlHandlerMapping

三、BeanNameUrlHandlerMapping

 

RequestMappingHandlerMapping

只須要在controller前加上@RequestMapping註解。

web.xml配置

Controller

 

 SimpleUrlHandlerMapping

SimpleUrlHandlerMapping的Controller處理類須要實現Controller接口:

BeanNameUrlHandlerMapping

Controller方面的測試代碼跟前面的SimpleUrlHandlerMapping同樣,實現Controller,重寫handlerRequest()方法便可。

handlerAdapter

handlerAdapter對應的是Controller,有三種最經常使用的HandlerAdapter,分別是:
一、RequestMappingHandlerAdapter
二、HttpRequestHandlerAdapter
三、SimpleControllerHandlerAdapter

RequestMappingHandlerAdapter主要是適配註解類處理器,註解類處理器就是咱們常常使用的@Controller的這類處理器。 HttpRequestHandlerAdapter主要是適配靜態資源處理器,靜態資源處理器就是實現了HttpRequestHandler接口的處理器,這類處理器的做用是處理經過SpringMVC來訪問的靜態資源的請求。 SimpleControllerHandlerAdapter是Controller處理適配器,適配實現了Controller接口或Controller接口子類的處理器。

做者:代碼potty 連接:https://www.jianshu.com/p/e4f1c9326223 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索