• M:Model 模型数据
  • V:View 视图,相当于网页jsp、php、asp展示模型中的数据
  • C:Controller 控制器,相当于调用不同的网站展示不同的数据

对于Java来说,Java MVC模式流程如下所示:
image.png
首先用户的请求到达Servlet,再根据请求调用相应的Java Bean,并把结果交由jsp进行显示(与PHP类似)脚本语言。

Spring MVC

https://www.jianshu.com/p/91a2d0a1e45a

传统的模型层被拆分为了业务层(Service)和数据访问层(DAO,Data Access Object)。 在 Service 下可以通过 Spring 的声明式事务操作数据访问层,而在业务层上还允许我们访问 NoSQL ,这样就能够满足异军突起的 NoSQL 的使用了,它可以大大提高互联网系统的性能。

image.png
Spring MVC项目将其搭建在tomcat上运行(新建项目一些需要注意的点-_-

DispatcherServlet

  • 修改web.xml文件dispatcher的为/,表示拦截所有请求,并且交由Spring MVC的后台控制器来处理。

    1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/2870855/1622518202460-53160563-897c-462d-9d44-bd8b35881302.png#align=left&display=inline&height=215&margin=%5Bobject%20Object%5D&name=image.png&originHeight=430&originWidth=1316&size=69076&status=done&style=none&width=658)

    处理器映射

  • dispatcher-servlet.xml文件的元素配置的dispatcher对应,是MVC的映射配置文件(xxx-servlet.xml)

  • 跟进处理映射器的设置,根据url请求携带的信息来决策分配哪个处理器

image.png

控制器

  • DispatcherServlet 会将请求发送给选中的控制器,控制器开始处理用户提交的请求

    返回 DispatcherServlet

  • 在控制器处理完请求时会产生一些返回给用户的数据,这些数据称为模型数据(moudle),但是不会直接将数据返回,通常会经过一些视图(View)的渲染(html、jsp等。

    视图解析器

    image.png

Spring MVC注解配置

  1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/2870855/1622531882802-f62019e4-e6bf-4a4d-b4fa-6c37571ce2fb.png#align=left&display=inline&height=164&margin=%5Bobject%20Object%5D&name=image.png&originHeight=327&originWidth=901&size=30439&status=done&style=none&width=450.5)
  • @Controller注解:注解声明此类为控制器
  • @RequestMapping注解:声明访问/hello路径会映射到该方法上(如果 @RequestMapping 作用在类上,那么就相当于是给该类所有配置的映射地址前加上了一个地址: /..类的注解名/hello