JavaWeb轻量级开发框架:关于SSH框架基础概念的学习

SSH是JavaWeb轻量级框架开发中比较常用的框架,它是三大框架(Struts,Spring,Hibernate)的组合的简称,也是目前Java开发中常用的两套框架之一(另一套是SSM)。

1.说起Struts框架,要先说一下MVC这种设计模式(设计思想),全称Model,View,Controler,是软件开发中比较流行的设计思想,在Web开发中,Model负责封装应用程序的数据结构和事务逻辑,集中体现应用程序的状态,当数据改变时,能在视图中体现出来。Java中的JavaBean非常适合这个角色;View是Model的外在表现,Model状态改变时有所体现,JavaEE中jsp非常适合这个角色;Controler对用户的输入进行响应,将模型和视图联系到一起,负责将数据写到模型中,并调用视图,JavaEE中Servlet适合这个角色。

MVC思想给网站设计带来巨大好处,但它毕竟只是一种思想,不同的程序员写出的基于MVC的应用,风格可能不一样,影响程序的标准化。为了程序的标准化,Struts就应运而生,受到广泛的承认。因此MVC是Struts框架的基础,或者说,Struts是为了规范MVC开发而发布的一个框架。类似的框架还有SpringMVC,WebWork等。

以上说的是Struts指的是Struts1.x,该框架给基于MVC的开发提供了较好的支持。Struts2和Struts1相比,不仅是在原有基础上增加功能或者进行优化,无论从流程还是结构上,都有很多革命性的改进。它是在上文提到的非常流行的webwork基础上发展起来的。因此,它并没有继承Struts1的特点,反而和webwork非常类似。换句话说,Struts2是webwork的升级,在各种功能和性能上都有很好的保证,吸纳了Struts1和webwork两者的优势,因此也是非常优秀的一个框架。

Struts2与Struts1具有的不同点主要集中在四个方面a.Action类的编写b.Action的运行模式 c.对Web容器的依赖d.对表单数据的封装。

2.接下来说一下Hibernate这个框架,同样,这个框架也是基于一个设计思想-对象关系映射(ORMapping),这个设计思想是软件开发过程中数据库层比较流行的设计思想。它将数据库中的一条记录看做一个对象,对这个对象的操作就直接影响到数据库。在ormapping中,一个po对象,一般表示数据库表中的一条记录,只是对记录的操作可以看做对这个Bean对象的操作,操作之后数据库中记录相应变化。

它给数据库层的操作带来巨大的好处。但是,它也毕竟只是一种思想,无法解决程序标准化的问题,因此有必要对这个模式进行标准化,让程序员在标准下进行开发。于是,hibernate框架就出现了。ORMapping是Hibernate的基础,或者说Hibernate是为了规范ORMapping开发而发布的一个框架。iBATIS,EntityBean也是。

3.Struts是web层进行MVC开发的标准框架,hibernate是数据库层进行ORMapping的标准框架,接下来要说的Spring是协调对象之间进行调用,降低耦合性的框架。

Spring是Java中协调对象间互相调用的解决方案,可以让对象间的调用接触紧耦合,大大方便了编程,提高了程序的可伸缩性。

说到Spring,要先提一下耦合性和控制反转(IOC)。

耦合性是软件工程中的重要概念。对象间的耦合性就是对象间的依赖性,耦合性越高维护成本越高。因此对象的设计应使类和构件之间的耦合性最小。

控制反转的原理就是,对象的生成由框架参考配置文件进行,和具体实现类的源代码无关,将对象生成的控制权由修改不方便的源代码转变为相对方便的配置文件与几乎不进行修改的框架进行。IOC思想给降低对象耦合带来巨大好处。它是Spring框架的基础,或者说,Spring是为了规范IOC开发而发布的一个框架。

在以上三大框架的整合中,前端使用Struts等框架完成;后端采用hibernate访问数据库;Spring运行在两者中间,负责降低web层和数据库层间的耦合性,或者说,让Struts中的action在调用hibernate的dao时,尽量降低耦合性。

猜你喜欢

转载自blog.csdn.net/qq_35750547/article/details/84133886