ssh框架的运行机制是怎样?各个起什么作用

2020-11-24 08:10:23 字数 5584 阅读 9906

1楼:嘻哈

ssh框架上,struts 是控制器连接后台与页面的进行页面跳转控制的,spring是容器将各个框架紧密的联系起来,hibernate是数据库框架,主要操作数据库,属于数据访问层。

2楼:匿名用户

struts是负责页面跳转和与后台数据库连接的,他用action换掉了原来了servlet,使页面显示和数据接收区分开来。

hibernate是负责对数据库进行操作的,他将数据库的表封装成了对象,使程序更符合面向对象的思想。

一般在struts和hibernate之间还有一层service层,是负责对程序的业务逻辑进行处理的。

spring主要是负责对struts和hibernate的封装、对事务的处理和对象的依赖注入。

ssh框架中每个框架的具体作用,都用来干什么?

3楼:匿名用户

struts 是前台框架,主要负责前后台交互的逻辑处理以及前台组件。

hibernate是后台框架,主要负责和数据库的交互,属于orm。

spring是嵌入mvc的框架,不论何处都能看到他的影子,主要是**的注入。甚至是组件式分布式开发。

4楼:向轶勾飞燕

hibernate是后台框架,主要负责和数据库的交互,属于orm。

spring是嵌入mvc的框架,不论何处都能看到他的影子,主要是**的注入。甚至是组件式分布式开发。

跪解:ssh框架的基本原理?

5楼:匿名用户

...要了解这个你还是先看看控制反转的原理

6楼:匿名用户

看官方**吧

,或者看满江红开源吧,**:

http://wiki.redsaga.***/confluence/display/rsteam/home

spring在ssh框架中到底起到什么作用

7楼:啊瑞呀

在ssh框假中spring充当了管理容器的角色。我们都知道hibernate用来做持久层,因为它

将jdbc做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的sql语

句。struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以ssh框架的流程大

致是:jsp页面----struts------service(业务逻辑处理类)---hibernate(左到右)

struts负责控制service(业务逻辑处理类),从而控制了service的生命周期,这样层与层

之间的依赖很强,属于耦合。这时,使用spring框架就起到了控制action对象(strus中的)

和service类的作用,两者之间的关系就松散了,spring的ioc机制(控制反转和依赖注入)

正是用在此处。

spring的ioc(控制反转和依赖注入)

控制反**就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序**

直接操控

依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系

注入到组件之中

使用spring的第二个好处(aop应用):

事务的处理:

在以往的jdbctemplate 中事务提交成功,异常处理都是通过try/catch 来完成,而在

spring中。spring容器集成了transactiontemplate,她封装了所有对事务处理的功能,包括

异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由spring 容器来管理,大

大减少了程序员的**量,也对事务有了很好的管理控制。hibernate中也有对事务的管理,

hibernate 中事务管理是通过sessionfactory 创建和维护session 来完成。而spring 对

sessionfactory配置也进行了整合,不需要在通过hibernate.cfg.xml来对sessionafactory进行

设定。这样的话就可以很好的利用sping对事务管理强大功能。避免了每次对数据操作都要

现获得session实例来启动事务/提交/回滚事务还有繁琐的try/catch操作。这些也就是spring

中的aop(面向切面编程)机制很好的应用。一方面使开发业务逻辑更清晰、专业分工更

加容易进行。另一方面就是应用spirng aop隔离降低了程序的耦合性使我们可以在不同

的应用中将各个切面结合起来使用大大提高了**重用度

8楼:匿名用户

spring核心有两个方面ioc(依赖注入)和aop(面向对象切面编程)

spring贯穿在整个项目之中,每当我们需要new 一个对象的时候,其实很耗资源的,

通过spring可以被动的让我们获取想要的对象而不用每次都去new

aop里面的**也用的很广泛,比如说我们有时候需要调用某个类的方法的时候

,不想通过对象去调用,而是用**间接地去调用

我觉得三大框架里面spring最重要,也是最难的,好好学啊,有时间多研究研究源码

9楼:匿名用户

任何语言、框架的发展都是为了降低程序之间的依赖性和耦合性,使重用性达到最高,在我们平时的四层框架中,界面层page、action层、业务逻辑层service、数据访问层dao,虽然分层明确,**清晰,但是层与层之间有着很高的依赖性,比如service层处理业务逻辑构造sql语句时需要引用dao层的对象,调用dao层的方法执行sql语句,而action层处理界面动作的时候又要引用service层的对象,调用service层的方法,这样一来实例action对象的时候要同时实例至少一个service对象和一个dao对象,这样依赖性太强,因此我们把他们做成接口,只在类里写各层的引用,而不对引用进行实例化,用spring的ioc依赖注入,在spring容器启动时来实例化引用,降低了程序的依赖性,如果某个业务逻辑发生变化,可以重新写一个新的业务逻辑实现类,修改spring的配置文件即可,不用每个action**中去改new的对象,这就是依赖注入。

而我们通常说一个方法只做一件事情,但是实际是实现不了的,因为一个方法除了做业务逻辑处理外还要至少处理事务、日志等事情,这些东西没有办法脱离,因此spring的aop面向切面,就将事务和日志可以定义成切面,配置的配置文件中,在你需要的时候切入进来,**中缺很清晰没有事务和日志,这就是spring的aop。

10楼:匿名用户

就是更好的集成struts和hibernate呀

11楼:我是川大人

主要是控制反转来进行注入的。

12楼:匿名用户

起什么作用你把他去掉不就知道了

13楼:匿名用户

整合hibernate和struts的

ssh中3种框架在开发中的作用分别是什么?

14楼:硠头向f葳信羺

spring 任意组来合struts和hibernate的方法达到**重自用的效果而不bai

是指duspring只能用于轻量级的应zhi用开发。spring的轻盈体dao现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。与ejb这种庞然大物相比,spring可使程序研发人员把各个技术层次之间的风险降低。

hibernate 持久层,对数据库操作.struts 控制流程spring ioc 推荐阅读《linux就该这么学》。

ssh2框架的含义?每个技术的作用是什么?

15楼:丿乀幻

首先,ssh不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种web应用程序开源集成框架,用于构建灵活、易于扩展的多层web应用程序。

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

struts作为系统的整体基础架构,负责mvc的分离,在struts框架的模型部分,控制业务跳转,利用hibernate框架对持久层提供支持。spring一方面作为一个轻量级的ioc容器,负责查找、定位、创建和管理对象及对象之间的依赖关系,另一方面能使struts和hibernate更好地工作。

由ssh构建系统的基本业务流程是:

1、在表示层中,首先通过jsp页面实现交互界面,负责传送请求(request)和接收响应(response),然后struts根据配置文件(struts-config.xml)将actionservlet接收到的request委派给相应的action处理。

2、在业务层中,管理服务组件的spring ioc容器负责向action提供业务模型(model)组件和该组件的协作对象数据处理(dao)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。

3、在持久层中,则依赖于hibernate的对象化映射和数据库交互,处理dao组件请求的数据,并返回处理结果。

采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。

ssh中 三大框架的各自的作用及好处

16楼:檀香透窗棂

ssh三者各自的作用及好处:

struts

struts是一个很好的mvc框架,主要技术是servlet和jsp。struts的mvc设计式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。

spring

spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。

hibernate

hibernate是用来持久化数据的,提供了完全面向对象的数据库操作。hibernate对jdbc进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。

以下是ssh架构图:

扩展资料

struts负责web层:

spring负责业务层管理,即service:

service为action提供统一的调用接口,封装持久层的dao,并集成hibernate,spring可对javabean和事物进行统一管理。

hibernate负责持久层,完成数据库的crud操作:

hibernate有一组hbm.xml文件和po,是与数据库中的表相对应的,然后定义dao,这些是与数据库打交道的类。

在struts+spring+hibernate系统中,对象之间的调用流程如下:

17楼:匿名用户

专业程序员帮你回答此问题:

首先hibernate使用来连接数据库的,好处:如果写好项目要从oracle换成mysql,不用考虑oracle和mysql有哪些 sql语句不同,直接换就行了。

spring,主要好处是控制反转和面向切面,也就是ioc,aop。不光可以处理控制业务,而且可以方便的给程序做**。

struts 有了struts ,servelt基本就可以不用了。主要是taglib和页面导航。taglib是struts的标记库,灵活动用,能大大提高开发效率