ssh框架原理及流程,ssh主要由哪三部分组成
一、bs架构和ssh框架可以同时使用吗
BS(Browser-Server,浏览器-服务器)架构和SSH(Spring、Struts、Hibernate)框架可以同时使用。实际上,这两种技术经常一起使用,以构建功能强大、可扩展的Web应用程序。
BS架构是一种基于浏览器的客户端-服务器架构,通过HTTP协议与服务器进行通信。客户端可以是任何支持Web浏览器的设备,如桌面、平板或手机。
SSH框架是一种JavaWeb应用程序框架,它包括三个主要部分:
1.Spring:一种轻量级的Java应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,有助于简化代码实现和模块化。
2.Struts:一种基于MVC(Model-View-Controller)设计模式的Web应用程序框架,用于处理用户请求并将请求映射到处理这些请求的Java类和方法。
3.Hibernate:一种流行的Java持久化框架,负责将对象与关系数据库之间的映射和操作。
在开发过程中,BS架构主要负责处理客户端请求,通过HTTP协议与服务器进行通信,将数据在客户端和服务器之间传递。而SSH框架主要负责服务器端的业务逻辑处理、数据持久化和用户界面。
这两种技术的结合可以提供一个稳定、高效且易于维护的Web应用程序。然而,随着技术的发展,有些开发者可能更倾向于使用SSM(Spring、SpringMVC、MyBatis)框架或SpringBoot等更现代的框架。这些框架提供了类似的功能,但可能具有更简单的配置和更高的开发效率。
二、shh框架是什么
SHH为struts+spring+hibernate的一个集成框架,是目前较为流行的一种Web应用程序开源框架。Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。
SSH框架从职责上分为四层:表示层(jsp+action)、业务层(service)、数据持久层(dao)和域模块层(实体层)(vo)。
三、ssh框架域模块层的功能
ssh框架与模块墙的功能主要是用来控制操作数据库,并分析相关数据。
struts控制用的
hibernate操作数据库的
spring用解耦的
详细的说:
struts在SSH框架中起控制的作用,其核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml.主要控制逻辑关系的处理。
hibernate是数据持久化层,是一种新的对象、关系的映射工具,提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制,大大减少数据访问的复杂度。把对数据库的直接操作,转换为对持久对象的操作。
spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,面向接口的编程,由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。依赖注入,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中起到的主要作用是解耦。
Struts、Spring、Hibernate在各层的作用
1)struts负责web层
ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页。
在struts-config.xml中定义<action-mapping>,ActionServlet会加载。
2)spring负责业务层管理,即Service(或Manager).
a.service为action提供统计的调用接口,封装持久层的DAO.
b.可以写一些自己的业务方法。
c.统一的javabean管理方法
e.声明式事务管理
f.集成Hiberante
3)Hiberante,负责持久化层,完成数据库的crud操作
hibernate为持久层,提供OR/Mapping。
它有一组.hbm.xml文件和POJO,是跟数据库中的表相对应的。然后定义DAO,这些是跟数据库打交道的类,它们会使用PO。
在struts+spring+hibernate的系统中,对象的调用流程是:jsp->Action->Service->DAO->Hibernate。
数据的流向是ActionFormBean接受用户的数据,Action将数据从ActionFromBean中取出,封装成VO或PO,再调用业务层的Bean类,完成各种业务处理后再forward。而业务层Bean收到这个PO对象之后,会调用DAO接口方法,进行持久化操作。