什么是SSH框架?
SSH是Struts+Spring+Hibernate的一个集成框架,是目前一种流行的Web应用程序开源框架,这个框架具有复用性高,易于维护,结构清晰的优点。
SSH框架从职责上分为四层:表示层(Action)、业务逻辑层(Service)、数据持久层(Dao)、域模块层(vo)。
由SSH构建系统的基本流程:
1、在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
2、在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
3、在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
接着说一下集成SSH的这三个框架。
一、Struts
Struts是开源框架。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。
Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
二、Spring
Spring是一个开源框架,在项目中对hibernate和struts进行整合,解决层与层之间的耦合问题。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及VO无缝整合。
Spring的IoC来实现组件之间的依赖关系注入,上层框架不会渗透到下层组件,提高组件移植性和重用性,使得程序更灵活。
三、Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
项目中的作用:
1、解决程序与数据库的依赖,即使用了Hibernate之后,以后更改数据库不需要更改代码,因为Hibernate会根据数据库方言来生成对应的SQL语句;
2、是对JDBC的轻量级封装,简化持久层的代码,提高开发速度。
1、Session接口负责执行被持久化对象的CRUD操作
2、SessionFactory接口负责初始化Hibernate。
3、Transaction接口负责事务相关的操作。
4、Query接口负责执行各种数据库查询。
5、Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。
最后,在网上找了一张SSH的架构图,别人画的就是特别的清楚,一张图说明了整个框架。