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
只须要在controller前加上@RequestMapping注解。
web.xml配置
Controller
SimpleUrlHandlerMapping的Controller处理类须要实现Controller接口:
Controller方面的测试代码跟前面的SimpleUrlHandlerMapping同样,实现Controller,重写handlerRequest()方法便可。
handlerAdapter对应的是Controller,有三种最经常使用的HandlerAdapter,分别是:
一、RequestMappingHandlerAdapter
二、HttpRequestHandlerAdapter
三、SimpleControllerHandlerAdapter
RequestMappingHandlerAdapter主要是适配注解类处理器,注解类处理器就是咱们常常使用的@Controller的这类处理器。 HttpRequestHandlerAdapter主要是适配静态资源处理器,静态资源处理器就是实现了HttpRequestHandler接口的处理器,这类处理器的做用是处理经过SpringMVC来访问的静态资源的请求。 SimpleControllerHandlerAdapter是Controller处理适配器,适配实现了Controller接口或Controller接口子类的处理器。