- 客户端浏览器向服务器发送http请求,请求被前端控制器dispatcherServlet捕获
- dispatcherServlet根据配置的servlet.xml,对url进行解析,获得uri,在根据uri调用HandlerMapping获取该Handler配置的有关对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain的形式返回
- dispatcherServlet根据获得的Handler,选择一个合适HandlerAdapter(如果获得成功,就将执行拦截器对应的preHandler方法)
- 适配器HandlerAdapter将Request中的模型数据传入Handler(Controller)
- Handler(Controller)执行结束后,返回一个ModelAndView对象
- 根据返回的ModelAndView,选择一个合适的已经注册到Spring容器的ViewResolver,返回给dispatcherServlet
ViewResolver–视图解析器
作用是把一个逻辑上的视图名称解析为一个真正的视图, SpringMVC 中用于把 View 对象呈现给客户端的是 View 对象本身,而 ViewResolver 只是把逻辑视图名称解析为对象的 View 对象。
- viewResolver结合Model和View渲染视图
- 视图负责将渲染结果返回给客户端