解图:

  由图可见,有三个框架{

      ①. Struts_2    ②. Spring    ③. Hibernate

   }

框架 作用 本质 同等于
Struts_2 实现MVC / 控制、跳转 过滤器(Filter) 拦路虎
Spring 托管所有Class类的实例并提供实例 监听器(Listener) 监视鹰
Hibernate 访问数据库 JDBC 耕地牛

  

  通过表格,可以很清楚的知道,当有访客来访时,Struts拦路虎就,会对访客进行拦截,随后,Struts拦路虎就去查找访客要访问的人是否存在记录中。而同时,

Spring监视鹰看见有情况,就飞过去于Struts拦路虎会合。Spring监视鹰就了解到了有访客来访,立即从记录中调出访客要找的人的信息给Struts拦路虎。Struts

拦路虎看过该人的信息后确认无误,访客要找的人存在,这才给请访客放行。{ Hibernate耕地牛是Spring监视鹰来管理的 }

  言归正传,看图。

    ①. 初始,客户端发送一个请求到服务器

    ②. 服务器开始处理客户端发送过来的请求,Struts过滤器开始运作

    ③. Struts过滤器从struts.xml这份配置文件中查找客户端要访问的东西是否存在

    {若客户端要访问的东西不存在,则给出一个错误页面;}  

    ... ...

    ④. Struts过滤器从struts.xml配置文件中找到了客户端要访问的东西(Action),Struts过滤器读取struts.xml配置文件时,Spring通过Struts写的实例bean的id,注入

    一个Action类实例给Struts,这个时候就去到了action_class类

     ⑤. 这时,action类中定义着一个Service层的接口,Spring通调用了接口属性对应的set方法,注入了一个Service层接口实现类的实例给Action类

    ⑥. 这时,Service类中定义着一个Dao层的接口,同样,Spring通过调用该接口对应的set方法,注入了一个Dao层接口实现类的实例给Service类

       ⑦. Dao层通过Hibernate的SessionFactory接口提供的方法从数据库中获取到数据                

       ⑧. Service层通过Dao层,调用Dao层的方法拿到从数据库中获取到的数据,进行一系列的业务逻辑的流程

⑨. Action层通过Service层的方法,获取数据

⑩. jsp页面调用Action类中属性的get方法,将数据呈现出来

      

SSH框架流程详解的更多相关文章

  1. SCP免密传输和SSH登录流程详解

    SCP免密传输和SSH登录协议详解 在linux下开发时,经常需要登录到其他的设备上,例如虚拟机内ubuntu.树莓派等等,经常涉及到传输文件的操作,传输文件有很多中方法,如物理磁盘拷贝,基于网络的s ...

  2. SSH框架之一详解maven搭建多模块项目

    闲来无事,思量着自己搭建一个ssh框架,一来回顾熟悉一下ssh的内容,hibernate还就没用过了,生疏了都.二来整合一下,将其他掌握的和正在学习的框架核技术糅合到一起,就当是做一个demo练手了. ...

  3. Scrapy 框架流程详解

    框架流程图 Scrapy 使用了 Twisted 异步非阻塞网络库来处理网络通讯,整体架构大致如下(绿线是数据流向): 简单叙述一下每层图的含义吧: Spiders(爬虫):它负责处理所有Respon ...

  4. Django Rest框架 流程详解

    什么是Restful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审 ...

  5. SSH框架搭建详解 及 乱码处理

    http://www.360doc.com/content/15/1031/21/21693298_509739569.shtml struts 除了struts的mvc外,还有拦截器,国际化,str ...

  6. 测试框架mochajs详解

    测试框架mochajs详解 章节目录 关于单元测试的想法 mocha单元测试框架简介 安装mocha 一个简单的例子 mocha支持的断言模块 同步代码测试 异步代码测试 promise代码测试 不建 ...

  7. Linux启动流程详解【转载】

    在BIOS阶段,计算机的行为基本上被写死了,可以做的事情并不多:一般就是通电.BIOS.主引导记录.操作系统这四步.所以我们一般认为加载内核是linux启动流程的第一步. 第一步.加载内核 操作系统接 ...

  8. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  9. Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)

    一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...

随机推荐

  1. sql操作之修改记录值

    mysql修改.删除数据记录 用update修改记录 UPDATE tbl_name SET 要更改的列 WHERE 要更新的记录 这里的 WHERE 子句是可选的,因此如果不指定的话,表中的每个记录 ...

  2. Range对象理解,浏览器兼容性,获取鼠标光标位置

    一.关于浏览器的兼容性 目前主要有3种关于range的类似的对象,分别是W3C range 对象,Mozzlia selection ,ie TextRange 关于这三种的区别,请查看文档 http ...

  3. 使用ocr的自动备份还原ocr

    1.查看ocr自动备份ocrconfig -showbackup 2.停止所有节点的集群件 3.还原ocr文件ocrconfig -restore <file-name> 4.重启crs, ...

  4. HTML5 Web Storage

    Web Storage是HTML5 API提供一个新的重要的特性: 最新的Web Storage草案中提到,在web客户端可用html5 API,以Key-Value形式来进行数据持久存储: 目前主要 ...

  5. requirejs中 shim

    使用requireJS的shim参数,完成jquery插件的加载 时间 2014-10-31 13:59:10  CSDN博客 原文  http://blog.csdn.net/aitangyong/ ...

  6. 反编译ILSpy 无法显式调用运算符或访问器 错误处理方法 转

    反汇编一个dll类库,导出的项目会报出很多bug,其中主要的就是“无法显式调用运算符或访问器”这个错误,看了一下,发现问题是在调用属性的时候,都 变成了方法,例如:pivotPoint.set_X(0 ...

  7. CentOS 更改yum源与更新系统

    FROM:http://www.cnblogs.com/lightnear/archive/2012/10/03/2710952.html [1] 首先备份/etc/yum.repos.d/CentO ...

  8. (转) Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 原帖地址: http://www.cnblogs.com/fnng/archive/2011/07/18/2110023.html Posted on 2 ...

  9. Flowplayer-playlist

    SOURCE URL: https://flowplayer.org/docs/playlist.html HTML layout Here is a typical setup for a play ...

  10. [问题2014A07] 复旦高等代数 I(14级)每周一题(第九教学周)

    [问题2014A07]  设 \(A\) 是有理数域 \(\mathbb{Q}\) 上的 4 阶方阵, \(\alpha_1,\alpha_2,\alpha_3,\alpha_4\) 是 \(\mat ...