springMVC源码分析--SimpleServletHandlerAdapter(二)

来源:互联网 发布:药房软件系统 编辑:程序博客网 时间:2024/05/17 23:27

上一篇博客springMVC源码分析--HandlerAdapter(一)中我们主要介绍了一下HandlerAdapter接口相关的内容,实现类及其在DispatcherServlet中执行的顺序,接下来我们详细介绍一下其实现类SimpleServletHandlerAdapter,SimpleServletHandlerAdapter其实是一个Servlet的适配器,其最终执行的方法是Servlet的service方法,源码如下,我们可以看到其真正起作用的地方是((Servlet) handler).service(request, response),其实也就是调用Servlet的service,其实本质还是比较简单的。

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

getLastModified直接返回-1

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

public class SimpleServletHandlerAdapter implements HandlerAdapter {@Overridepublic boolean supports(Object handler) {return (handler instanceof Servlet);}//执行Servlet的service方法@Overridepublic ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {//本质还是执行Servlet的service方法((Servlet) handler).service(request, response);return null;}@Overridepublic long getLastModified(HttpServletRequest request, Object handler) {return -1;}}
这样springMVC中就提供了执行Servlet的适配器,如果可以的话我们是否也可以自己写一个适配器类然后注入到springMVC 的容器中。


1 0
原创粉丝点击