zoukankan      html  css  js  c++  java
  • SpringMVC的工作流程

    1、工作流程

    (1) 首先用户发送请求——>前端控制器DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;(1)

    (2) DispatcherServlet——>处理器映射器HandlerMapping,HandlerMapping 将会把请求映射为 执行链HandlerExecutionChain 对象(包含一个 Handler 处理器(页面控制器)对象、多个 HandlerInterceptor 处理器拦截器)对象,通过这种策略模式,很容易添加新的映射策略;(2)(3)

    (3)DispatcherServlet——>处理器适配器HandlerAdapter,HandlerAdapter 将会把 处理器controller 包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;(4)

    (4)HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter 将会根据适配的结果调用真正的处理器controller的功能处理方法,完成功能处理;并返回一个 ModelAndView 对象(包含模型数据、逻辑视图名);(5)(6)

    (5)ModelAndView 的逻辑视图名——> ViewResolver视图解析器, ViewResolver 将把逻辑视图名解析为具体的 视图View,通过这种策略模式,很容易更换其他视图技术;

    (6)View——>渲染,View 会根据传进来的 Model 模型数据进行渲染,此处的 Model 实际是一个 Map 数据结构,因此很容易支持其他视图技术;

    (7)返回控制权给 DispatcherServlet,由 DispatcherServlet 返回响应给用户,到此一个流程结束。

    参考博客:https://blog.csdn.net/zhaolijing2012/article/details/41596803

  • 相关阅读:
    N天学习一个linux命令之lsof
    N天学习一个linux命令之ps
    N天学习一个linux命令之yum
    N天学习一个linux命令之rsync
    N天学习一个linux命令之ss
    N天学习一个linux命令之netstat
    N天学习一个linux命令之vmstat
    N天学习一个linux命令之sort
    N天学习一个linux命令之rpm
    跨域问题
  • 原文地址:https://www.cnblogs.com/guoyu1/p/12123449.html
Copyright © 2011-2022 走看看