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

来源:互联网 发布:阿里云os3.2 系统优化 编辑:程序博客网 时间:2024/05/01 18:27

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

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



0 0
原创粉丝点击