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 来源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。
相关文章
相关标签/搜索