您的位置:首页 > 编程语言 > Java开发

SpringMVC非注解的处理器适配器-HandlerAdapter

2016-07-27 15:32 579 查看


本文的目的是了解处理器适配器,所以我们先来了解一下适配器都有什么:


HandlerAdapter 接口实现: 

HttpRequestHandlerAdapter : 要求handler实现HttpRequestHandler接口,该接口的方法为                                                             void handleRequest(HttpServletRequest request, HttpServletResponse response)也就是说  handler必须有一个handleRequest方法 

SimpleControllerHandlerAdapter:要求handler实现Controller接口,该接口的方法为ModelAndView  handleRequest(HttpServletRequest request, HttpServletResponse response),该方法返回一个ModelAndView 

AnnotationMethodHandlerAdapter :已过时 

RequestMappingHandlerAdapter : 和RequestMappingHandlerMapping配对使用,针对@RequestMapping 

看完了适配器,我们再来看看一个简单的SpringMVC的工作流程:
 当我们访问http://localhost:8080/index,首先由DispatcherServlet进行转发,通过BeanNameUrlHandlerMapping(含有 /index->HomeAction的配置),找到了HomeAction,然后再拿HomeAction和每个adapter进行适配,由于HomeAction实现了Controller接口,所以最终会有SimpleControllerHandlerAdapter来完成对HomeAction的handleRequest方法的调度。然后就顺利的执行了我们想要的方法。 


当你什么都没有配置时,默认会加载以上的配置。正是由于有了上述默认配置的BeanNameUrlHandlerMapping(它要求name必须是以/开头的),它才会存储我们在mvc-servlet.xml中配置的<bean name="/index" class="com.lg.mvc.HomeAction"></bean>,同样正是由于有了SimpleControllerHandlerAdapter(由于handler实现了Controller接口,所以它的support方法支持我们的handler),才会调度执行HomeAction的handleRequest方法。

本文仅限于此,实乃转载,更多的内容请到链接博客一观。 http://blog.csdn.net/zljjava/article/details/50414585
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc