一、MVC三层架构
个人感觉MVC三层应该改名为MCV三层架构
毕竟这样才更符合底层到顶层的逻辑顺序
-
Model 模型
- 数据持久化层:CRUD (Dao) 只完成增删改查
- 业务处理:业务逻辑 (service)
-
Controller 控制器 (Servlet)
- 接受用户的请求 (req参数、Session信息)
- 控制视图的跳转 (请求转发、重定向)
-
View 视图
- 展示数据
- 提供连接发起Servlet请求:<a, <form, <img
二、MVC与SpingMVC的关系
SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架
SpringMVC属于MVC中的C层:Controller(控制层),其实也就是web服务层
它的主要职责是实现请求-响应,替代了原来的Servlet
而V层:View(视图层),交给html, jsp这样的页面来完成
M层:Model(模型层),由Spring的Dao和Service来完成
三、SpringMVC和Spring的关系
从名字上可以看出来,SpringMVC是属于Spring体系的,它是基于Spring的拓展框架
在SSM项目中,通常由Spring来配置Dao和Service层,而Controller层由SpringMVC单独配置
Spring(父容器)和SpringMVC(子容器)的关系是父子关系
SpringMVC可以访问Spring容器中的对象,例如:在Controller层中通常都会注入Service层中的东西
但是反过来是不行的,Spring不能使用SpringMVC容器中的对象