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

springMVC源码分析--SimpleServletHandlerAdapter

2018-01-10 16:17 567 查看
接下来我们详细介绍一下其实现类SimpleServletHandlerAdapter,SimpleServletHandlerAdapter其实是一个Servlet的适配器,其最终执行的方法是Servlet的service方法,源码如下,我们可以看到其真正起作用的地方是((Servlet) handler).service(request, response),其实也就是调用Servlet的service,其实本质还是比较简单的。

supports方法就是判断handler是否是Servlet

getLastModified直接返回-1

handle方法本质是执行Servlet.service方法。

[java] view
plain copy

 print?

public class SimpleServletHandlerAdapter implements HandlerAdapter {  

  

    @Override  

    public boolean supports(Object handler) {  

        return (handler instanceof Servlet);  

    }  

      

    //执行Servlet的service方法  

    @Override  

    public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)  

            throws Exception {  

        //本质还是执行Servlet的service方法  

        ((Servlet) handler).service(request, response);  

        return null;  

    }  

  

    @Override  

    public long getLastModified(HttpServletRequest request, Object handler) {  

        return -1;  

    }  

  

}  

这样springMVC中就提供了执行Servlet的适配器,如果可以的话我们是否也可以自己写一个适配器类然后注入到springMVC 的容器中。

这样就可以在servlet类中注入spring容器中的bean了,如下所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: