文章插图
ssh框架SSH是 struts+spring+hibernate的一个集成框架 , 是目前比较流行的一种Web应用程式开源框架 。区别于 Secure Shell。
【ssh框架】集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模组层 , 以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程式 。其中使用Struts作为系统的整体基础架构 , 负责MVC的分离 , 在Struts框架的模型部分 , 控制业务跳转 , 利用Hibernate框架对持久层提供支持 , Spring做管理 , 管理struts和hibernate 。
基本介绍中文名:ssh框架
外文名:SSH-Framework
全称:Spring + Struts + Hibernate
属性:Web应用程式开源框架
学科:计算机编程
概述SSH框架集 , 是现在大多数软体设计过程中都会使用的一种框架集 。而这种框架是基于MVC的开发 , 且MVC模式已经成为现代J2EE开发中的一种常用模式 , 且受到越来越多JSP、PHP等开发者的欢迎 。MVC模式 , 分别是模型(Model)、视图(View)、控制器(Controller) 。应用程式被分割成这三大部分之后 , 各自处理自己的任务 。视图层通过提取用户的输入信息 , 提交到控制器之后 , 控制器根据某种选择来决定这个请求交由给模型层来处理 , 模型层根据业务逻辑的代码处理用户请求并返回数据 , 并最终用视图层展示给用户 。而前面提到的SSH框架集 , 就是很好的对应了MVC模式的开发使用 。这种Struts+Hibernate+Spring的三大框架整合 , 契合着MVC模式的三层对象 。其中Struts对应着前台的控制层 , 而Spring则负责实体bean的业务逻辑处理 , 至于Hibernate则是负责资料库的交接以及使用Dao接口来完成操作 。框架解析SSH是Struts、Hibernate和Spring的集成框架:StrutsStruts与SSH框架-样同样具有开源性 , 合理恰当的使用Struts技术可以在定程度上减少基于MVC模型的Wieb套用系统的开发时间 , 从而有效控制系统开发成本 。事实上 , 绝大多数程式设计师在在使用Servicts和JSP的可扩展的套用时已经将Srurs框架技术作为系统F发的标準 。Struts技术基于MVC框架,Struts的实现依赖Servlet和JSP实现 。EJB和JavaBean两个组件是Struts框禁业务功能实现的基础部件:Action和ActionServlet部件是框架实现控制力能的重要部件:视图部分则是由若干存在内在联繫的JSP档案有机构成 , 米实现系统功能 。其工作原理如下:1、使用者通过浏览器客户端传送HTIP协定的数据请求 。2、HITP请求到达伺服器后 , 经过控制器 , 使用框架结构填充FormBean 。3、经过填充的数据请求通过框架中控制器的Action组件进行数据业务处理 。4、经过控制器处理过的业务数据调用Stuts的基础部件实现业务逻辑 。5、将业务逻辑经过转换形成JSP业务进行处理 , 井将处理结果反或6、用户在客户端或者浏览器上得到HTTP请求的回响 。HibernateHibernate , 是负责了跟资料库的交接 。通过持久化数据对象 , 进行对象关係的映射 , 并以对象的角度来访问资料库 。通过封装JDBC , 使得开发人员可以以面向对象编程的思想来操控资料库 , 从而摆脱了以往使用JDBC编程时的“死板”操作 。通过hibernate.cfg.xml档案来取代以往的JDBC连线资料库的一大串代码 , 通过XXX(实体Bean的类名).hbm.xml档案来与资料库的具体表进行映射 。并且Hibernate有自己的HQL语句 , 与资料库的SQL语句相似 , 但不同的是HQL语句在面向对象编程的角度上 , 通过Session的createQuery方法创建户一个query对象 , 由这个对象来完成对资料库的增删改查等操作 。通过Struts2中Action的返回值 , 来调用Dao层中的业务处理 。SpringSpring , 使用基本的实体JavaBean来完成以前只能用EJB完成的事情 。而其核心则是控制反转(IOC)和面向切面编程(AOP) 。使用Spring , 意味着一个对象的创建再也不是自己new出来的 , 而是全权交给了IOC容器去实例化 。与此同时 , Spring通过採用依赖注入(DI)的方式 , 通过属性的Setter和Getter方法来注入这个对象的属性 , 这样的好处就是不完全依赖于容器的API , 且查询依赖与代码实现了解耦 。而AOP , 则是将套用的业务逻辑和系统级服务(例如事务)分离开来 , 进行内聚性的开发 , 套用对象只负责完成业务逻辑而不关心日誌或者事务的处理 。技术优势SSH框架是基于传统J2EE框架的新技术 , SSH框架继承了J2EE的分层架构模式 , 二者的不同之处仅在于层与层之间的实现方法 。当12EE框架和sH架构完成相同的运算任务时 , SSH框架消耗的系统资源最少 。SSH框架在业务对象的的平台专用性上没有特殊的限定要求 , 在SSH框架中业务逻辑的实现通过普通的Jawa对象即可完成 。SSH组合框架技术优势体现在四个方面:一、分离了Java代码和HIML代码 , 降低了对开发人员要求的複合度 。二、是系统的层与层之间的工作相是对独立的 , 代码耦合度低 。三即使脱离了Spring 环境的AOP机制 , 也不会妨碍AOP实现业务的功能 。四、与SSH配合使用的Hibemate等夸平台技术开源性极强促使了SSH框架的飞速发展 。SSH的技术优势使得採用SSH框架技术开发的系统具备了很强的可拓展性、可移植性 。同时 , 採用开源的SSH框架能够大大简化系统开发的複杂度 , 缩短系统开发时间 。意义框架的使用可以大大缩短大型系统的开发周期 , 提高开发质量 , 就传统的Java编程来说 , 基于类库的面向对象的技术来比较 , 框架已经为我们封住这些代码 , 在开发的过程中 , 只要能够调用这些已经写好的类或接口 , 来实现其中的方法 , 或者重写其中的方法 , 使其为我们的工作服务 , 那幺就可以节省我们的开发周期 。使工作更加高效有序地进行 。套用框架更倾向于面向专业领域的软体重用 , 随着软体行业的不断发展 , 各种系统变得更加複杂 , 其中所涉及的领域也越来越宽泛 , 如果没接到一个新的系统重新开始开发 , 那会是一个很漫长的过程 , 降低了工作的效率 。如果团队中的工作人员各自写各自的 , 由于每个人的工作风格不同 , 编写代码的方式也不同 , 那幺这个工程就会变得杂乱无章 , 并且如果系统出现问题 , 想要再次维护 , 似乎更是难上加难 。因而SSH框架可以使开发人员在编写程式时儘量一致 , 这样可以减少因工作习惯不同而导致的维护工作複杂的问题 。发展前景现在市面上流行的框架主要有SSM、SSH等 , 相比较于SSH、SSM现在用的已经更多 , 但是其地位依旧没有怎幺改变 , 就像最初的Jsp、Servlet技术一样 , 虽然现在在市面上还使用Jsp、Servlet的人已经越来越少了 , 但是相关思想一直作为这些框架的基础 , 从没有被撼动 。Spring的登顶地位不是没有道理的 , 其增强的模组化、面向切面、控制翻转、依赖注入都是使它成为经典的重要原因 。Struts2最大的特点就是不用再重写或实现Action类 , 而这些都交给了拦截器处理 , 使用框架API , 其缺点就是不够灵活 。Hibernate的经典之处就是其不论是在哪一种资料库中都是独立于DB存在的 , 并且提供了快取机制 , 使用起来更加方便 。