解图:

  由图可见,有三个框架{

      . 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. linux环境下配置java WEB项目运行环境,jdk8+tomcat8+mysql5.7.11 新手向

    一:安装jdk 1.下载jdk  在oracle下载东西的时候因为oracle的一些验证机制,所以需要在链接前面添加一些参数 wget --no-check-certificate --no-cook ...

  2. [BS-30] 你真的会用storyboard开发吗?

    你真的会用storyboard开发吗?   随着苹果大屏手机的推出,苹果公司马上推出了屏幕适配的一些东西Constraints and Size Classes同时,在开发项目时候,是使用sb还是写代 ...

  3. iOS,plist文件、pct文件,工程设置

    1.使用pch文件 2.在info.plist中配置URL Schemes 3.plist配置拍照界面,复制,粘贴等菜单的显示语言 显示中文 4.使用非ARC库/ARC库 5.链接选项-Objc &a ...

  4. EF CodeFirst 创建数据库

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    话说EF支持三种模式:Code First   M ...

  5. ORA-25153: Temporary Tablespace is Empty

    在一测试环境做测试的时候发生以下错误: SQL> exec dbms_stats.gather_table_stats(ownname=>'SYS',tabname=>'TT',me ...

  6. Android系统下,用adb实现自动获取应用性能数据

    [自动化测试模式] 支持以adb shell命令的形式启动和运行.需要注意的是,office系列软件可能会更改命令中的字符,导致命令不可用!请手工输入命令,或从附带的command.txt文本中复制. ...

  7. js setInterval

    var monitorInterval = null;    //检索cs 是否处理完成 开始: monitorInterval = setInterval(function () { CheckCS ...

  8. C# Cookie工具类

    /// <summary> /// Cookies赋值 /// </summary> /// <param name="strName">主键& ...

  9. [SDN] What is SDN?

    本篇学习笔记写于 Sun Nov 13 15:08:02 2016, 可能有认识不全面的地方. 参考资料为ONF的官方网站中: Software-Defined Networking (SDN) De ...

  10. IntelliJ IDEA14 配置 SVN

    最新升级IDEA13到14版本,升级后发现IDEA中SVN无法正常使用,但文件夹下能够正常使用. 并且报错:svn: E204899: Cannot run program "svn&quo ...