博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是SSH
阅读量:5874 次
发布时间:2019-06-19

本文共 1830 字,大约阅读时间需要 6 分钟。

 SSH不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离,耦合度降低,系统的灵活性更好,可复用性高

 

官方的说法:SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架。

 

个人的见解:SSH不是一个框架,而是把多个框架(Struts、Spring以及Hibernate)紧密的结合在一起,用于构建灵活、易于扩展的多层Web应用程序。

 

SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。

 

我们通过下面这张图说明一下,三种框架的关系以及所包含的内容,内容已经很详细了,在这里就不做过多的解释了。

 

                  

 

下面我们再详细看一下组成SSH的这三个框架。

 

Struts

 

1、什么是Struts?

 

      从简单性来看,Struts是这三个框架中最简单的一个,它是基于MVC的框架。它通过采用JavaServlet/JSP技术,实现了基于 EEWeb应用的MVC设计模式的应用框架,是MVC的一个具体实现或着说是MVC的一个具体产品。

 

2、Struts的核心构成

         

 

      Struts的核心同样也是MVC的核心,Struts是MVC的一个具体产品。

 

(1)Model

 

       由Action、ActionForm以及JavaBean组成,其中ActionForm用于将用户请求的参数,封装成为ActionForm对象,我们可以理解为实体,由ActionServlet转发给Action,Action处理用户请求,将处理结果返回到界面。

 

(2)View

 

       该部分采用JSP+大量的taglib,实现页面的渲染。

 

(3)Controller

 

       Controller是Struts的核心控制器,负责拦截用户请求,通过调用Model来实现处理用户请求的功能。

 

3、为什么使用Struts?

 

      使用Struts作为系统的整体基础,负责MVC的分离,将页面从业务逻辑分离出来,使用页面更加灵活多变,不会影响业务逻辑,简化了基于MVC的web应用程序的开发,因而使得开发更加高效。

 

Hibernate

 

1、什么是Hibernate?

 

      Hibernate是一个对象关系映射框架,它对JDBC进行了轻量级的封装,使得我们使用面向对象的思想操作关系型。

 

2、Hibernate的核心构成

              

              

         

      这部分内容我们不做过多的解释,上面导图中的解释已经很简单明了了,如果还是不懂的话,可以上网查阅相关资料。

 

3、为什么使用Hibernate?

 

(1)Hibernate是JDBC的轻量级的对象封装,它使得与关系型数据库打交道变得更加轻松自如。

(2)对象化,它使得我们可以以面向对象的思想操作关系型数据库,简化了Dao层编码工作,使得开发更加对象化了。

(3)移植性更好,支持各种数据库,更换数据库异常简单,不需要改代码。

(4)实现了透明持久化,没有实现第三方框架或接口,没有侵入性,是一种轻量级框架。

 

Spring

 

1、什么是Spring?

 

      简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

 

2、Spring的核心构成

 

              

 

(1)IoC

 

       IoC就是IoC,不是什么技术,是一种设计模式。通过依赖注入的方式,由spring管理和控制对象之间的依赖关系,避免硬编码所造成的过度程序耦合。

 

(2)AoP

 

       通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

 

(3)容器

 

       能管理对象的生命周期、对象与对象之间的依赖关系就是容器。

 

3、为什么使用Spring?

 

      没有Spring,Struts和Hibernate可以很好的运行,我称这样的模式为“独木桥”,但是有了Spring,Struts和Hibernate能够更好的结合在一起,协调的工作。我称这样的模式为“阳光大道”。Spring的核心思想是IoC和AOP,Spring使得管理对象更加方便,极大的降低组件之间的耦合度,实现了软件各层之间的解耦。Spring的优点还有很多,我们就不再累述了。

 

总结

 

      SSH不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离,耦合度降低,系统的灵活性更好,可复用性高。同时,框架为我们提供了一些基础性的服务,使我们的开发更加简单,大大提高开发效率。

 

下篇博客,我们介绍

 

转载于:https://www.cnblogs.com/java2016/p/5387447.html

你可能感兴趣的文章
xampp默认项目文件夹htdocs
查看>>
swift2.0 UIImagePickerController 拍照 相册 录像
查看>>
虚拟机上网设置
查看>>
android soundpool 參数说明
查看>>
InstallShield高级应用--检查是否安装ORACLE或SQL Server
查看>>
JAVA软件开发职责
查看>>
如何使用angularjs操作cookie
查看>>
POJ 3321 Apple Tree DFS序+fenwick
查看>>
POJ 1789-Truck History
查看>>
【Android】8.4 让主题自适应不同的Android版本
查看>>
REST_FRAMEWORK加深记忆-三种CLASS VIEW的进化史
查看>>
HDU5280 Senior's Array(简单DP)
查看>>
mysql Access denied for user 'root'@'localhost' (using password: YES)
查看>>
VS2015 打开html 提示 未能完成操作 解决办法
查看>>
.NET-"/"应用程序中的服务器错误
查看>>
回击MLAA:NVIDIA FXAA抗锯齿性能实測、画质对照
查看>>
windows tomcat 优化
查看>>
给自定义cell赋值代码
查看>>
GCD
查看>>
linq 实现动态 orderby
查看>>