1、用户 在页面发送 浏览器请求 到 前端控制器(DispatcherServlet)
2、请求转发给后台,找到相应的Handler,由 Handler处理拦截器 来真正处理业务请求
『
Q1:那么,前段控制器如何找到 Handler处理器 呢?
A1:由 处理器映射器 来记录请求的URL和处理方法之间的映射关系。
Q2:是怎样的映射关系?
A2:相当于一个Map(Key-value这种形式),Key是请求的URL,value是请求的处理的Handler。
Q3:映射关系是怎么建立的?
A3:通过@RequestMapping注解建立起来的。
』
3、但是前端控制器并不了解返回的Handler是什么类型的,需要用 处理器适配器 适配不同类型的Handler来执行它
4、确定好上一步骤之后,会由 执行处理器(Controller,也叫 后端控制器)进行业务处理
5、处理完后会拿到一个ModelAndView对象,由 处理器适配器 把这个结果返回给 前端控制器
6、前端控制器 要找到相应的JSP等其他 视图解析器(ViewResoler)来处理,解析完之后会得到view对象
7、调用这个 视图解析器 的渲染试图的过程后,由 前端控制器 响应给用户
『 对于JSP而言,是把这个数据渲染成html 』
总结:
SpringMVC通过参数解析器将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。