Spring MVC的理解

MVC概念:

MVC是一种软件设计模式
Model(模型) -代表存取数据的对象或POJO,可以包含业务逻辑.
View(视图) - 代表模型包含的数据的可视化.
Controller(控制器) - 用于转发和处理请求,使模型和视图分开.

JavaEE平台MVC设计思想的应用

Spring MVC的理解
请求流程:
1)客户端发送请求到过滤器处理
2)将过滤后的请求交给Servlet
3)Servlet调用Service
4)service调用dao
5)dao调用数据库
6)把拿到的数据封装到POJO

客户端请求的数据也可以直接封装到POJO,再持久化到数据库

响应流程:
1)Servlet把数据返回给Servlet
2)Servlet把数据交给View解析
3)解析后把数据呈现到客户端

Spring框架中的MVC流程

Spring MVC是属于Spring框架中的一个Web模块,并不是一个框架.
Spring MVC的理解

1)请求通过了过滤器到达前端控制器(DispatcherServlet)
2)前端控制器通过HandlerMapping注册中心找到对应的handler
3)前端控制器调用handler处理请求
4)handler返回一个字符串给前端控制器
5)前端控制器把字符串交给视图解析器(ViewResolver)
6)ViewResolver拿到字符串后,匹配一个完整的url后传给前端控制器
7)前端控制器再把内容返回给客户端

说明:请求过来的时候是通过MappingRegistry(实际是一个HashMap)对象基于url找到对应后端的handler,里面保存的是
url和handlerMethod的映射.