SimpleServletHandlerAdapter类详解 - HandlerAdapter系列六
SimpleServletHandlerAdapter(简单Servlet处理器适配器),它是spring提供的处理适配器,专门适配类型为javax.servlet.Servlet的处理器,其最终执行的方法是Servlet的service方法。
源码
public class SimpleServletHandlerAdapter implements HandlerAdapter { @Override public boolean supports(Object handler) { // 仅仅支持实现了Servlet的处理器,这个处理器需要在Web应用程序中声明,但是, Servlet的初始化方法和析构方法不会被调用 return (handler instanceof Servlet); } //执行Servlet的service方法 @Override public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //本质还是执行Servlet的service方法,不需要返回值,返回值在Servlet的服务方法直接写入HTTP响应对象 ((Servlet) handler).service(request, response); return null; } @Override public long getLastModified(HttpServletRequest request, Object handler) { // 不支持最后修改行为 return -1; } }
SimpleServletHandlerAdapter能够将一个HTTP请求传递给一个Servlet规范中定义的Servlet的实现进行处理。它的应用并不广泛,主要应用在适配到一个已有的Servlet的实现以达到重用的目的。基于简单控制器流程的实现中,有个相似的类ServletWrappingController实现了同样的业务逻辑。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。