MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC将应用程序分成三个核心部件:
它属于设计模式的范畴,就如同其他设计模式一样,模式的出现就是为了对某种功能的优化,而MVC模式可以看做是对三层架构中的表现层的一种细分优化
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易
模型(JavaBean):业务逻辑操作,比如封装数据,处理业务数据(调用数据库)
视图(JSP):展示数据
控制器(Servlet):获取客户端的输入,调用模型,查询数据获取数据,将数据交给视图展示
数据访问层(dao/mapper)
对数据库的CRUD基本操作,操作数据存储文件
业务逻辑层(service)
对业务逻辑进行封装,组合数据访问层中的基本功能,形成复杂的业务逻辑功能,处理业务逻辑
表现层(controller)
接收请求,封装数据,调用业务逻辑层,响应数据,用户看的界面,用户可以用过界面上的组件和服务器进行交互
MVC并不等同于三层架构,MVC只是三层架构中web层/界面层中的一种框架。而三层架构是一种设计模式
框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度