SSH框架流程详解

解图:
由图可见,有三个框架{
①. 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框架流程详解的更多相关文章
- SCP免密传输和SSH登录流程详解
SCP免密传输和SSH登录协议详解 在linux下开发时,经常需要登录到其他的设备上,例如虚拟机内ubuntu.树莓派等等,经常涉及到传输文件的操作,传输文件有很多中方法,如物理磁盘拷贝,基于网络的s ...
- SSH框架之一详解maven搭建多模块项目
闲来无事,思量着自己搭建一个ssh框架,一来回顾熟悉一下ssh的内容,hibernate还就没用过了,生疏了都.二来整合一下,将其他掌握的和正在学习的框架核技术糅合到一起,就当是做一个demo练手了. ...
- Scrapy 框架流程详解
框架流程图 Scrapy 使用了 Twisted 异步非阻塞网络库来处理网络通讯,整体架构大致如下(绿线是数据流向): 简单叙述一下每层图的含义吧: Spiders(爬虫):它负责处理所有Respon ...
- Django Rest框架 流程详解
什么是Restful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审 ...
- SSH框架搭建详解 及 乱码处理
http://www.360doc.com/content/15/1031/21/21693298_509739569.shtml struts 除了struts的mvc外,还有拦截器,国际化,str ...
- 测试框架mochajs详解
测试框架mochajs详解 章节目录 关于单元测试的想法 mocha单元测试框架简介 安装mocha 一个简单的例子 mocha支持的断言模块 同步代码测试 异步代码测试 promise代码测试 不建 ...
- Linux启动流程详解【转载】
在BIOS阶段,计算机的行为基本上被写死了,可以做的事情并不多:一般就是通电.BIOS.主引导记录.操作系统这四步.所以我们一般认为加载内核是linux启动流程的第一步. 第一步.加载内核 操作系统接 ...
- 【python3+request】python3+requests接口自动化测试框架实例详解教程
转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...
- Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)
一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...
随机推荐
- partition-list
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- iOS应用架构谈 网络层设计方案
网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大.另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用.其它的ASIHttpRequ ...
- Android 通过 Wifi 调试 Debug (Android Studio)
参考资料: http://www.cnblogs.com/sunzhenxing19860608/archive/2011/07/14/2106492.html 前提: Android 手机 和 PC ...
- C++ 中的类构造函数 & 析构函数
类的构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行. 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void.构造函数可用于为某些成员变量设置 ...
- mac 启动 docker daemon
我是用virtualbox安装的. 有一个小问题就是启动docker服务时会检查boot2docker是不是最新的. 由于github被封了,所以只能手动下 https://github.com/bo ...
- 移动端开发tips
为什么使用touch click有300sm的延迟 touch支持多点触摸 手势操作
- bzoj1029 [JSOI2007]建筑抢修
贪心,按截止时间排序,然后按截止时间从小到大枚举维修的建筑,如果之前修理建筑的总时间+当前修理时间<=截止时间,那么答案+1,否则如果之前修理过的建筑中最大的修理时间>当前建筑修理时间,那 ...
- MFC 框架技术简单研讨
引用:http://www.cnblogs.com/chinazhangjie/archive/2011/09/20/2181986.html 正文: 第一讲 Win32 App 和 MFC Fr ...
- 新建Java文件的 文档注释
/** * <br> * ============================================= * * @author : Liuyc * @company : 版权 ...
- zw版·全程图解Halcon控件安装(delphi2007版)
zw版·全程图解Halcon控件安装(delphi2007版) delphi+halcon,这个组合,可以说是图像分析的神级配置,无论是开发效率,还是运行实在是太高了,分分钟秒杀c+opencv,py ...