下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

SSH是由三个框架组成的你知道吗?

作者:课课家教育     来源: http://www.kokojia.com点击数:3030发布时间: 2016-08-07 09:24:35

标签: SSHWeb开发SSH框架

大神带你学编程,欢迎选课

  在软件开发中有一个框架叫SSH,而在网络协议中有一协议叫做SSH,而文中要讲的是SSH框架。在对于Web开发中,SSH框架可以提高开发人员的开发效率,还方便后期的维护。虽然称SSH为一个框架,但是实际上它是由三个框架组成的你知道吗?下面我们就一起了解一下关于SSH。

  SSH

  虽然说SSH是一个框架,但是它是由三个基本框架组合集成而来。这三个框架分别是Struts2、spring、Hibernate。而SSH框架的系统从职责上可以分为四层,分别死:表示层、业务逻辑层、数据持久层以及实体层。这四层可以帮助软件开发人员在短期内搭建结构清晰、可复用性好以及维护方便的Web应用程序。SSH是一个目前比较流行的java Web应用程序开发框架。下面我们来了解一下SSH中的这三个框架。

     以下是SSH的架构图:

SSH的架构图

  Struts

  这是一个基于J2EE平台的MVC框架,Struts主要采用了Servlet技术和JSP技术来实现。在过去的时间里。Struts也备受人们的关注,因为它简单易用、敏捷迅速并且能够充分的满足应用开发者的需求。

  Struts的框架将许多的功能整合在了一起,例如:Servlet、JSP、自定义标签以及信息资源等。所以开发人员在用Struts进行开发的时候不同再去自己编码实现全套MVC模式,这样就可以节约很多的时间,就这一方面来说,Struts是一个很不错的应用开发框架。

  HIbernate

HIbernate的工作原理

上图是HIbernate的工作原理

  Hibernate是一个开放源代码的对象关系映射框架,是对java中的对象关系映射解决方案。由于它对JDBC进行了轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维操作数据库。它的基础是java反射机制。Hibernate映射Java类到数据库表和从Java数据类型到SQL数据类型和95%的通用数据持久化相关的编程任务,解放了开发者。HIbernate可以应用在所有使用JDBC的场合,就是说即可以在Java的客户端程序中使用,还可以在JSP的Web应用中使用。而HIbernate最重要的是,它可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

  Spring

  在软件开发中,你可以在很多的项目中看到spring的身影,这足够说明spring是一个足够优秀的框架。它解决了很多在J2EE开发中常见的问题。Spring是一个非常活跃的开源框架,它是一个基于IOC和AOP来构架多层javaEE系统的框架,它的主要目地是简化企业开发。spring提供了管理业务对象的一致方法并且还鼓励注入对接口编程而不是对类编程的良好习惯。

spring中的功能以及架构

  Spring的优点

   1)提供了唯一的数据访问抽象,包括了简单和有效的JDBC框架,这有效的改进了效率并减少了很多的错误

   2)Spring的数据访问结构还集成了HIbernate以及其他的解决方案。

   3)提供了唯一的事务管理抽象。使之能够在各种底层事务中管理事务。

   4)提供了一个Java语言编写的AOP框架,这个AOP框架也是足够强大,使应用程序可以抛开EJB的复杂性。

   5)提供了可以和IOC容器集成的强大MVC Web框架。

   6)非侵入性,远程调试不会植入。

   7)因为使用IOC容器,可以将对象之间的依赖关系交给Spring,这样就可以降低对象组件之间的耦合性。那我们就可以更加专注与应用逻辑。

  三个框架各自在SSH中的作用

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

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

   上文已经说了三个框架,这里简单说一下,Struts是一个很好的mvc框架并且能使我们的逻辑变得很清晰。而Spring提供了管理业务对象的一致方法。最后HIbernate是用来持久化数据的,并且提供了完全面向对象的数据库操作。

   在SSH中Struts负责的是Web层

   当ActionFormBean接收网页中表单所提交的数据。接收数据之后会通过Action进行处理,处理完成之后就会使用Forward到对应的网页并在Struts-config.XML中进行定义,最后ActionServlet就会加载进来。

   在SSH中Spring中负责业务层逻辑层,也就是说Service:

   在Service中为Action提供了一个统一的调用接口用于封装持久层的DAO,而且好集成HIbernate。还有的是Spring还可以对JavaBean和事务进行统一的管理。

   在SSH中HIbernate负责的是持久层,就是完成数据库的CRUD操作:

   由于HIbernate中有一组hbm.xml文件以及PO,这两个用于与数据库中的表相对应的。然后你可以定义DAO,这些就是用于与数据库打交道的类。

       现在在选择SSH的框架上,主要还是以大型的企业比较多。因为一个小的Web应用体现不出SSH框架具有多大的优势。但是对于学习的朋友来说,SSH框架能够提高自己对于编程规范的良好习惯。并且有规范的编程操作,别人对于你的程序也能很好的理解。希望看完本文之后能对有需要的朋友有所帮助。

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程