SpringMVC 工作流程
大体流程:
1、浏览器向web服务器发送HTTP请求
2、DispatcherServlet拦截所有请求,将请求地址(url)传给HandlerMapping
3、HandlerMapping根据url-controller之间的映射关系,确定要调用的controller,并将要调用哪个controller告诉DispatcherServlet
4、DispatcherServlet调用controller所属的HandlerAdapter
5、HandlerAdapter调用controller
6、controller处理业务,并向处理结果封装住在ModelAndView中,传给HandlerAdapter
7、HandlerAdapter将ModelAndView传递给DispatcherServlet
8、DispatcherServlet调用ViewResolver来解析ModelAdnView
9、ViewResolver解析ModelAndView,得到Model、View,并将Model、View返回给DispatcherServlet
10、DispatcherServlet渲染View(将Model中的数据填入View),封装为HTTP响应传递给web容器(也叫做web服务器,常见的比如tomcat)
11、web服务器向浏览器传回响应
有时候只使用Model,View是空的,比如ajax查询数据;
有时候只使用View,Model是空的,比如返回静态页面。