MVC 设计模式
MVC 设计模式的任务是将包含业务数据的模块与显示模块的视图进行解耦。方法是在数据模型和视图之间引入重定向层,此重定向层就是控制器。
传统MVC架构
SpringMVC 核心架构
- 架构流程
- 处理器指的就是我们写的 Controller 。用户的请求是怎么到达正确的 Controller 的呢?
- 比如用户输入一个网址 hocalhost:8080/springmvc/item/itemlist.action 发送请求,这时用户的请求到达前端控制器 DispatcherServlet ,前端控制器会将 /item/itemlist.action 取出来,执行请求查询Handler ,就是将这个地址交给处理器映射器(HandlerMapping),处理器映射器会查找 Controller,返回的是包名+类名+方法名,之后将这个返回值返回给前端控制器。
- 找到要具体执行的方法以后,请求执行 Handler,这是用到处理器适配器,这个方法是由处理器适配器来执行的。处理器Handler返回一个ModelAndView给处理器适配器,然后处理器适配器将ModelView交给前端控制器。
- 前端控制器拿到ModelView以后将它交给视图解析器ViewResolver,视图解析器会将ModelAndView中的数据加入到jsp页面中,形成一个View对象(就是有数据也有页面的一个对象)。最后经过渲染视图,将页面返回给客户。