1.集成ssh框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层、域模块层
2.struts作为系统的整体基础架构,负责mvc的分离,在strusts框架的模型部分,控制业务跳转,利用hibernate框架对持久层提供支持。spring一方面作为一个轻量级的Ioc容器,负责查找、定位、创建、管理对象以及对象之间的依赖关系,另一方面能使struts和hibernate更好地工作
3.ssh构建系统的基本业务流程:
在表示层中,首先通过jsp页面实现交互界面,负责传送请求request和接收响应response,然后struts根据配置文件struts-config.xml将ActionServlet接收到的request委派给相应的action处理
在业务层中,管理服务组建springIoc容器负责想action提供业务模型model组件和该组件的写作对象数据处理DAO组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完成性
在持久层汇总,则依赖于hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器、模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
4.Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
5. Struts
它通过采用 Java Servlet/JSP 技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展,减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化
6. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate执行流程
为什么使用Hibernate?
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2、Hibernate是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作,将软件开发人员从大量相同的数据持久层相关编程工作中解放出来,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。
Struts 的MVC设计模式可以使我们的逻辑变得很清晰,主要负责表示层的显示。
Spring 的IOC和AOP可以使我们的项目在最大限度上解藕。
hibernate的就是实体对象的持久化了, 数据库的封装。
表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
表现层是传统的JSP技术。
中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库。
Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。