SSH框架

    

       SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。

       集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。


      系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
      采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。


 


       SSH 和 MVC 的 联系:MVC是一种设计模式,而SSH框架属于这个设计模式的典型。

       程序从大方面分成三层:表示层、业务层、持久层;

       表示层也可以说是Web层,业务层对应的是Service,持久层对应的是DAO。

       Web层又分成MVC,Struts 属于Web层;Hibernate是持久层;实体对象(POJO)不属于任何层,它会在各个层之间传递消息;Spring不属于任何层(用Spring可以解偶合,是在业务层和持久层之间解偶合,Web层和业务层解耦也靠它),其中Struts的目的是为了分离视图层和控制层。Spring可以让我们养成用接口编程的好习惯 提高程序的重用率还有可维护性。Hibernate的目的是为了实现用面向对象的思想来管理数据库 实现与数据库之间的低耦合。

        所以,MVC在ssh中只是第一个s,也就是struts,是一个mvc框架,与spring和hibernate就没有特别的关系了。

你可能感兴趣的:(SSH框架)