web项目中MVC&三层架构都是整个web项目的完整描绘
三层架构包括了实际开发过程中涉及的全部层级,web层(servlet、springmvc,前端技术等等),service层(进行业务逻辑处理操作,联系数据层和表现层),dao层(面向数据库的操作)
MVC模式在实际开发过程中则更注重于web层的处理,service层和dao层可以理解为MVC的模型层,mvc中视图层和控制层在三层架构中相当于web层(表现层)
MVC和三层架构互有侧重,实际开发过程后端三层架构更容易理解,前端MVC更容易理解,组合起来更好理解整个web项目的执行流程
一般servlet技术的web流程
浏览器发送一个请求给后端服务器,后端服务器现在是使用
Servlet
来接收请求和数据
如果所有的处理都交给
Servlet
来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极为
不利
将后端服务器
Servlet
拆分成三层,分别是
web
、
service
和
dao
web
层主要由
servlet
来处理,负责页面请求和数据的收集以及响应结果给前端
service
层主要负责业务逻辑的处理
dao
层主要负责数据的增删改查操作
servlet
处理请求和数据的时候,存在的问题是一个
servlet
只能处理一个请求
针对
web
层进行了优化,采用了
MVC
设计模式,将其设计为
controller
、
view
和
Model
controller
负责请求和数据的接收,接收后将其转发给
service
进行业务处理
service
根据需要会调用
dao
对数据进行增删改查
dao
把数据处理完后将结果交给
service,service
再交给
controller
controller
根据需求组装成
Model
和
View,Model
和
View
组合起来生成页面转发给前端浏览
器
这样做的好处就是
controller
可以处理多个请求,并对请求进行分发,执行不同的业务操
作。