什么是SSH框架?

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

集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。

SSH框架集,是现在大多数软件设计过程中都会使用的一种框架集。而这种框架是基于MVC的开发,且MVC模式已经成为现代J2EE开发中的一种常用模式,且受到越来越多JSP、PHP等开发者的欢迎。MVC模式,分别是模型(Model)、视图(View)、控制(Controller)。
应用程序被分割成这三大部分之后,各自处理自己的任务。视图层通过提取用户的输入信息,提交到控制器之后,控制器根据某种选择来决定这个请求交由给模型层来处理,模型层根据业务逻辑的代码处理用户请求并返回数据,并最终用视图层展示给用户。而前面提到的SSH框架集,就是很好的对应了MVC模式的开发使用。这种Struts+Hibernate+Spring的三大框架整合,契合着MVC模式的三层对象。其中Struts对应着前台的控制层,而Spring则负责实体bean的业务逻辑处理,至于Hibernate则是负责数据库的交接以及使用Dao接口来完成操作。

Struts

Struts与SSH框架-样同样具有开源性,合理恰当的使用Struts技术可以在一定程度上减少基于MVC模型的Web应用系统的开发时间,从而有效控制系统开发成本。事实上,绝大多数程序员在使用Servlet和JSP的可扩展的应用时已经将Struts框架技术作为系统开发的标准。
Struts技术基于MVC框架,Struts的实现依赖Servlet和JSP实现。EJB和JavaBean两个组件是Struts框架业务功能实现的基础部件;Action和ActionServlet部件是框架实现控制力能的重要部件;视图部分则是由若干存在内在联系的JSP文件有机构成,来实现系统功能。其工作原理如下:
1、使用者通过浏览器客户端发送HTIP协议的数据请求。
2、HITP请求到达服务器后,经过控制器,使用框架结构填充FormBean。
3、经过填充的数据请求通过框架中控制器的Action组件进行数据业务处理。
4、经过控制器处理过的业务数据调用struts的基础部件实现业务逻辑。
5、将业务逻辑经过转换形成JSP业务进行处理,井将处理结果返回
6、用户在客户端或者浏览器上得到HTTP请求的响应。

Hibernate

Hibernate,是负责了跟数据库的交接。通过持久化数据对象,进行对象关系的映射,并以对象的角度来访问数据库。通过封装JDBC,使得开发人员可以以面向对象编程的思想来操控数据库,从而摆脱了以往使用JDBC编程时的“死板”操作。通过hibernate.cfg.xml文件来取代以往的JDBC连接数据库的一大串代码,通过XXX(实体Bean的类名).hbm.xml文件来与数据库的具体表进行映射。并且Hibernate有自己的HQL语句,与数据库的SQL语句相似,但不同的是HQL语句在面向对象编程的角度上,通过Session的createQuery方法创建户一个query对象,由这个对象来完成对数据库的增删改查等操作。通过Struts2中Action的返回值,来调用Dao层中的业务处理。

Spring

Spring,使用基本的实体JavaBean来完成以前只能用EJB完成的事情。而其核心则是控制反转(IOC)和面向切面编程(AOP)。使用Spring,意味着一个对象的创建再也不是自己new出来的,而是全权交给了IOC容器去实例化。与此同时,Spring通过采用依赖注入(DI)的方式,通过属性的Setter和Getter方法来注入这个对象的属性,这样的好处就是不完全依赖于容器的API,且查询依赖与代码实现了解耦。而AOP,则是将应用的业务逻辑和系统级服务(例如事务)分离开来,进行内聚性的开发,应用对象只负责完成业务逻辑而不关心日志或者事务的处理。

框架优点

1、SSH框架是基于传统J2EE框架的新技术,SSH框架继承了J2EE的分层架构模式,二者的不同之处仅在于层与层之间的实现方法。当J2EE框架和SSH架构完成相同的运算任务时,SSH框架消耗的系统资源最少。
2、SSH框架在业务对象的的平台专用性上没有特殊的限定要求,在SSH框架中业务逻辑的实现通过普通的Java对象即可完成。
3、SSH组合框架技术优势体现在四个方面:
一、分离了Java代码和HIML代码,降低了对开发人员要求的复合度。
二、是系统的层与层之间的工作相是对独立的,代码耦合度低。
三即使脱离了Spring 环境的AOP机制,也不会妨碍AOP实现业务的功能。
四、与SSH配合使用Hibemate等跨平台技术开源性极强促使了SSH框架的飞速发展。
4、SSH的技术优势使得采用SSH框架技术开发的系统具备了很强的可拓展性、可移植性。同时,采用开源的SSH框架能够大大简化系统开发的复杂度,缩短系统开发时间。

SSH框架的详细介绍相关推荐

  1. [转载]SSH框架搭建详细图文教程

    什么是SSH? SSH对应 struts spring hibernatestruts 采用MVC模式,主要是作用于用户交互spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合hiber ...

  2. SSM框架和SSH框架的详细对比

    最近了解到SSH框架的使用的企业越来越少了,SSM框架更受青睐,我就了解了一下两种框架体系的区别.反正都要学,现在我已经学过了SSH框架,接下来就是学SSM框架了. 声明:下边的内容是我转载 学习的. ...

  3. Glide图片框架使用详细介绍(一)

    一.背景介绍 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech.这个库被广泛的运用在google的开源项目中,包括2014年google I/O ...

  4. Pytorch高级训练框架Ignite详细介绍与常用模版

    引言 Ignite是Pytorch配套的高级框架,我们可以借其构筑一套标准化的训练流程,规范训练器在每个循环.轮次中的行为.本文将不再赘述Ignite的具体细节或者API,详见官方教程和其他博文.本文 ...

  5. SSH框架之Hibernate介绍

    什么是Hibernate? Hibernate框架是当今主流的Java持久层框架之一. 持久层最常用的技术有JDBC,DBUtils DBUtils封装的就是JDBC的操作方式,他只是把JDBC的操作 ...

  6. python django flask介绍_Python开发WEB框架Flask详细介绍

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  7. 本文详细介绍Python 设计模式系列之二: 创建型 Simple Factory 模式(转载)

    源地址:http://doc.chinaunix.net/python/200703/202210.shtml 本文详细介绍Python 设计模式系列之二: 创建型 Simple Factory 模式 ...

  8. ssh框架实现数据库_自顶向下介绍SSH及其如何实现安全的数据共享

    ssh框架实现数据库 by Sam Ollason 通过萨姆·奥拉森(Sam Ollason) This article will take a high-level and top-down app ...

  9. java的annotation_Java Annotation认知(包括框架图、详细介绍、示例说明)

    摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...

  10. Java Annotation认知(包括框架图、详细介绍、示例说明)

    摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...

最新文章

  1. 分布式云+dubbo+zookeeper+Springmvc整合
  2. Anaconda中下载速度贼慢?
  3. 分布式事务方案这么多,到底应该如何选型?
  4. 记一次ajax交互问题
  5. board crt_容器编排系统K8s之Dashboard部署
  6. Wannacry勒索病毒样本分析
  7. CentOS下通过代理安装rails
  8. 单片机入门学习十五 STM32单片机学习十二 电容触摸按键
  9. python 四象限图_方法:高效处理工作的四象限图
  10. spyder替换_Spyder简单使用
  11. hdu 1869 六度分离(bfs)
  12. 联想电脑虚拟化开启方法
  13. python比较重要的模块_python中重要的模块--asyncio 转载
  14. Android WebView 视频播放,全屏按钮不显示或灰显解决方案
  15. 第十六章 二次根式 教案
  16. 两个基于爬虫的项目: Kiwix ArchiveBox
  17. 获取wifi和基站定位的基础信息
  18. Django 框架学习经验分享
  19. 易优如何新建自定义模板
  20. iPad 2下月登陆香港 水货应声降价

热门文章

  1. CATIA汽车焊装夹具设计基础入门视频教程
  2. opencv下载百度网盘链接及安装
  3. matlab 求副瓣电平,一种阵列天线一维方向图的副瓣电平计算方法与流程
  4. yarn的安装和使用
  5. html 显示 16进制 颜色,16进制颜色(html颜色值)
  6. studio3t到期解决办法
  7. 浅谈信息学奥赛NOIP
  8. 多人共享协作画板——多人画板
  9. 【SEU程序设计课笔记】 Mooc - Chapter 5 - (EX) - 猜数字游戏
  10. ipv6协议学习笔记(1)-ipv6基础