美文网首页
DispatcherServlet解析

DispatcherServlet解析

作者: 想做安徒生 | 来源:发表于2018-06-24 14:07 被阅读0次
    image.png image.png image.png image.png

    1.initMultipartResolver(context); 处理文件上传

    2.initLocaleResolver(context);处理国际化配置

    3.initThemeResolver(context);主题配置

    4.initHandlerMappings(context);

    5.initHandlerAdapters(context);

    (1)HttpRequestHandlerAdapter:Http请求适配器

    (2)SimpleControllerHandlerAdapter:简单控制器处理器适配器,处理实现org.springframework.web.servlet.mvc.Controller接口的控制器

    (3) AnnotationMethodHandlerAdapter:基于注解的实

    6.initHandlerExceptionResolvers(context):异常处理,实现

    7.initRequestToViewNameTranslator(context);加载逻辑视图解析

    8.initViewResolvers(context);初始化视图解析器

    9.initFlashMapManager(context);用户存储、检索、管理FlashMap实例

    一个真实的处理流程

    (1)绑定请求参数到当前线程

    image.png

    (2)委托给doService进一步处理

        1.checkMultipart。如果是文件上传则转换request请求为DefaultMultipartHttpServletRequest
    

    2.获取对应的handle

    image.png 2.根据Hadler找到对应的HadlerAdapter image.png

    3.缓存处理,Last-Modified机制,只要实现LastModified接口即可

    image.png 4.拦截器的处理 image.png image.png

    5.真正的逻辑处理

    image.png

    SimpleControllerHandlerAdapter中的处理,最终调用的是你实现了org.springframework.web.servlet.mvc.AbstractController#handleRequest的接口

    image.png 6.拦截器的postHandle处理 image.png

    7.根据视图跳转页面

    image.png image.png

    (3)请求结束恢复线程至原始状态

    (4)请求处理后发布时间通知

    相关文章

      网友评论

          本文标题:DispatcherServlet解析

          本文链接:https://www.haomeiwen.com/subject/ddwjyftx.html