MVC(Model View Controller)是一种思想,其分为三个部分:模型、视图、控制器。
SSH是框架是mvc思想的实现,其系统分为4个层次:表示层、业务逻辑层、数据持久层和域模块层。
其中struts2为系统的整体基础架构,负责将mvc分离。
在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
MVC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来 对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的,接收、处理、发送数据并控制流程;视图层,用JSP模板把页面展现给用户以及提供 与用户的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能 等等。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),
然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
***:实现了视图、控制器与模型的彻底分离,以及业务逻辑层与持久层的分离。
前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率
内容来源于:https://www.cnblogs.com/frankchia/p/6681612.html
以及
https://zhuanlan.zhihu.com/p/503387542