1.
struts2是一个控制器,负责接收页面数据并调用视图层的方法返回页面所需要的数据
hibernate负责数据的持久化,因为现在一般采用的数据库都是关系型数据库,而java是面向对象的,所以hibernate负责数据的落地
spring则把变化封装了,通过spring完成依赖注入,能降低各个模板间的耦合,有利于提高项目各个模板间的复用,使系统更加趋近于高内聚,低耦合的要求
2.
SSH(Struts2,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装!
Struts2是一个MVC框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库
系统的基本业务流程是:
在
表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在
业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在
持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
3.
简单的说hibernate解决了数据库持久层代码的编写。
struts2以mvc设计模式进行分层开发,易于维护和扩展。
spring可以集成hibernate,和struts2 通过依赖注入,能降低各个模板间的耦合,有利于提高项目各个模板间的复用,使系统更加趋近于高内聚,低耦合的要求。三者都是通过反射机制来实现的,及原理就是
23种设计模式。