SSH框架,全称Spring + Struts + Hibernate,是16年之前较为流行的一种Web应用程序开源框架。它并不是单一的框架,而是将Struts、Spring和Hibernate三个框架紧密结合在一起,用于构建灵活、易于扩展的多层Web应用程序。
SSH框架从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。每一层都有其特定的功能和作用。
- 表示层:通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response)。
- 业务逻辑层:管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件,完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
- 数据持久层:依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
SSH框架的工作流程:
- 用户请求:用户通过浏览器发送HTTP请求到服务器。
- 请求处理:请求经过web.xml中配置的过滤器过滤,由Struts的FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个请求。如果需要,FilterDispatcher则把请求的处理交给ActionProxy。
- Action执行:ActionProxy通过配置文件Struts.xml找到需要调用的Action类,并创建一个ActionInvocation实例,通过代理模式调用Action。Action执行完毕后,ActionInvocation根据struts.xml中的配置找到对应的返回结果。
- 结果返回:最终,ActionInvocation返回运行的结果,通过JSP页面或其他视图技术展示给用户。
SSH框架的核心优势:
- 灵活性和可扩展性:SSH框架允许开发人员根据需求进行灵活的扩展和定制。
- 分层架构:SSH框架继承了J2EE的分层架构模式,使得开发过程更加清晰和高效。
- 资源管理:Spring的IoC机制和AOP思想使得对象的管理和资源分配更加优化,提高了系统的性能和可维护性。
SSH框架以其强大的功能和灵活性,成为了Web应用程序开发中的佼佼者。