传统的Java Web程序采用JSP+Servlet+JavaBean来实现。
○ 优点:这种模式实现了最基本的MVC分层,JSP负责前台展示、Servlet负责流程逻辑控制、JavaBean负责数据封装。
○ 缺点:JSP页面中嵌入很多Java代码会造成页面结构混乱,Servlet和JavaBean负责大量跳转和运算,耦合紧密,程序复用度低等。
SSH框架采用Struts+Spring+Hibernate来实现。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层、域模块层(实体层)。
○ Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转;
○ 利用Hibernate框架对持久层提供支持;
○ Spring负责查找、定位、创建和管理对象及对象之间的依赖关系。
SSH框架的主要层次结构如下图所示:
由SSH构建系统的基本业务流程如下:
①在表示层中,首先通过JSP页面实现交互界面,负责传送请求和接收响应,然后Struts根据配置文件struts-config.xml将ActionServlet接收到的请求委派给相应的Action处理;
②在业务层中,Spring IoC容器负责向Action提供业务模型组件和该组件的协作对象数据处理组件完成业务逻辑,并提供事务处理、缓冲池等容器组件;
③在持久层中,依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。