HandlerMapping的工作就是为每个请求找到合适的处理器handler。
HandlerMapping 接口:接口中主要定义了一个getHandler方法,返回一个HandlerExecutionChain对象。
总结:简单来说HandlerMapping的实现机制就是根据request来获得HandlerExecutionChain,其实就是获取真正要执行的Controller或者某个具体的方法。HandlerMapping接口提供的唯一的方法就是HandlerExecutionChain getHandler(HttpServletRequest request)。
相关流程:
DispatcherServlet把接收到的用户请求根据URL来调用HandlerMapping,然后HandlerMapping获得该Handler配置的所有相关的对象,
包括Handler对象以及Handler对象对应的拦截器,这些对象都会被封装到一个HandlerExecutionChain对象当中返回,之后DispatcherServlet
根据获得的Handler,选择一个合适的HandlerAdapter进行处理。
下面是SpringMVC中HandlerMapping处理器映射器的三种配置方式:
1、根据beanname来配置:
2、根据简单URL 来查找Controller :
3、根据控制类的类名访问controller:
三种配置方式没有多大区别,根据自己喜好而来。