SimpleControllerHandlerAdapter类详解 - HandlerAdapter系列五

SimpleControllerHandlerAdapter是简单控制器处理器适配器,这个实现类将HTTP请求适配到一个控制器的实现进行处理。这里控制器的实现是一个简单的控制器接口的实现。简单控制器处理器适配器被设计成一个框架类的实现,不需要被改写,客户化的业务逻辑通常是在控制器接口的实现类中实现的。

源码

public class SimpleControllerHandlerAdapter implements HandlerAdapter {  
    @Override  
    public boolean supports(Object handler) {  
        //判断是否是Controller类  
        return (handler instanceof Controller);  
    }  
    //执行Controller的handleRequest方法  
    @Override  
    public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)  
            throws Exception {  
        //本质是执行Controller的handleRequest方法  
        return ((Controller) handler).handleRequest(request, response);  
    }  
  
    @Override  
    public long getLastModified(HttpServletRequest request, Object handler) {  
        if (handler instanceof LastModified) {  
            return ((LastModified) handler).getLastModified(request);  
        }  
        return -1L;  
    }  
} 

总结

1. SimpleControllerHandlerAdapter将会调用处理器的handleRequest方法进行功能处理,该处理方法返回一个ModelAndView给DispatcherServlet。

2. SimpleControllerHandlerAdapter实现了org.springframework.web.servlet.mvc.Controller接口的Bean可以作为Spring Web MVC中的处理器。如果需要其他类型的处理器可以通过实现HadlerAdapter来解决。

3. SimpleControllerHandlerAdapter将会调用处理器的handleRequest方法进行功能处理,该处理方法返回一个ModelAndView给DispatcherServlet。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。