SpringMVC(DispatcherServlet)工作流程

SpringMVC(DispatcherServlet)工作流程

  1. 客户端浏览器向服务器发送http请求,请求被前端控制器dispatcherServlet捕获
  1. dispatcherServlet根据配置的servlet.xml,对url进行解析,获得uri,在根据uri调用HandlerMapping获取该Handler配置的有关对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain的形式返回
  1. dispatcherServlet根据获得的Handler,选择一个合适HandlerAdapter(如果获得成功,就将执行拦截器对应的preHandler方法)
  1. 适配器HandlerAdapter将Request中的模型数据传入Handler(Controller)
  1. Handler(Controller)执行结束后,返回一个ModelAndView对象
  1. 根据返回的ModelAndView,选择一个合适的已经注册到Spring容器的ViewResolver,返回给dispatcherServlet

ViewResolver–视图解析器
作用是把一个逻辑上的视图名称解析为一个真正的视图, SpringMVC 中用于把 View 对象呈现给客户端的是 View 对象本身,而 ViewResolver 只是把逻辑视图名称解析为对象的 View 对象。

  1. viewResolver结合Model和View渲染视图
  1. 视图负责将渲染结果返回给客户端