ssh中 三大框架的各自的作用及好处

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
java 中ssh三大框架各自特点,区别?

ssh即Struts,Spring,Hibernate
在WEB应用中
Struts充当控制器,将视图(view)与业务逻辑(model)分开,
Spring负责bean的管理与事务处理,整合Struts与Hibernate
Hibernate负责持久层(dto、dao),即与数据库的交互,显著的特点是,跨数据库,提高生产力
附,视图(view)由jsp、html等组成;业务逻辑(model)由后台的dto、dao、service、facade层组成

Struts 是前台框架,主要负责前后台交互的逻辑处理以及前台组件。
Hibernate是后台框架,主要负责和数据库的交互,属于ORM。
Spring是嵌入MVC的框架,不论何处都能看到他的影子,主要是代码的注入。甚至是组件式分布式开发。

SSH三者各自的作用及好处:

  1. Struts

    Struts是一个很好的MVC框架,主要技术是Servlet和Jsp。Struts的MVC设计式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。

  2. Spring

    spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。

  3. Hibernate 

Hibernate是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。

以下是SSH架构图:

扩展资料

Struts负责Web层:

ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了<action-mapping>,ActionServlet会加载进来。

Spring负责业务层管理,即Service:

Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。

Hibernate负责持久层,完成数据库的CRUD操作:

Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。

在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:

参考资料:百度百科——ssh



一、Spring
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。
二、STRUCTS
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
三、Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。映射很简单呀,就是页面的映射呀,多做点练习就会了。

专业程序员帮你回答此问题:
首先hibernate使用来连接数据库的,好处:如果写好项目要从oracle换成mysql,不用考虑ORACLE和mysql有哪些 sql语句不同,直接换就行了。

spring,主要好处是控制反转和面向切面,也就是IOC,AOP。不光可以处理控制业务,而且可以方便的给程序做代理。

Struts 有了STRUTS ,servelt基本就可以不用了。主要是Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率