Spring MVC 笔记(1)

来源:互联网 发布:九九乘法表c语言倒 编辑:程序博客网 时间:2024/05/16 09:49

MVC 简介

其实MVC不是java独有的概念 SmallTalk 和Pythoh也有

我们先看一下官网给我们的前端控制器的图

Spring MVC 高层次的请求处理工作流程如下
Spring MVC 高层次的请求处理工作流程如下

下面这张图摘自实验楼课程:

是细分后的 Spring MVC 执行流程

这里写图片描述

Spring MVC 相关接口解释:

(1)DispatcherServlet(和Front controller是不是一个意思)

前端控制器,所有的请求都有经过它来统一分发,请求会被分发给对应的 Handler。

(2)HandlerMapping(处理器映射器)

解析请求链接,然后根据请求链接找到执行这个请求的类(HandlerMapping 所说的 handler)。

(3)HandlerAdapter(处理器适配器)

调用具体的方法对用户发来的请求来进行处理。

(4)Controller(负责业务数据抽取)

Controller 将处理用户请求,Controller 处理完用户请求,则返回 ModelAndView 对象给 DispatcherServlet 前端控制器。

从宏观角度考虑,DispatcherServlet 是整个 Web 应用的控制器;从微观考虑,Controller 是单个 Http 请求处理过程中的控制器。

(5)ViewResolver(视图解析器,负责页面呈现)

解析 MdoelAndView,将 MdoelAndView 中的逻辑视图名变为一个真正的 View 对象,并将 MdoelAndView 中的 Model 取出。

我们总结一下

MVC的本质:

- MVC的核心思想是业务数据抽取同业务数据呈现相分离

Spring MVC基本概念

什么是MVC?

M odel - V iew- C ontroller

View

视图层,为用户提供UI,重点关注数据的呈现。

Model

模型层

业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体的组合。

Controller

控制层

调用业务逻辑产生合适的数据(Model)
传递数据给视图层用于呈现

那么什么是MVC?

  • MVC是一种架构模式
    程序分层,分工合作,既相互独立,又协同工作。

  • MVC是一种思考方式
    需要将什么信息展示给用户?如何布局?调用哪些业务逻辑?

也就是模型层,视图层,控制层。