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 ...
随机推荐
- sql 里 text类型的操作(转载)
SQL Server中TEXT类型字段值在数据库中追加字符串方法 对text类型字段值进行追加更新的操作,一开始用了简单的update语句试了试,有错误,原来text.ntext类型的字段不能和 va ...
- RabbitMq 应用
RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展. 前提是你的RabbitMq服务已搭建好,制作一个winfor ...
- scrum3.0
3.0----------------------------------------------------- SCRUM 流程的步骤2: Spring 计划 1. 确保product backlo ...
- 【001:Tomcat搭建简单文件服务器】
1.下载 tomcat 软件包 2.在webapps/Root 下放置需要下载的文件 3.运行 tomcat / bin目录 下的startup.sh 4.访问 ip+8080端口
- Openstack命令行创建不同vlan段虚拟机
默认使用nova-network的vlan模式,但是在使用默认的dashboard的时候,不能指定创建的虚拟机的使用网段,固定IP地址. 实际上该功能是在存在的,只是openstack的dashbbo ...
- * 和 ** python
*代表tuple集合,**代表dict def func(a, b, c=0, *args, **kw) print ('a=',a, 'b=',b,'c=',c,'args=',args,'kw= ...
- tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 8080
1.INFO: Maximum number of threads (200) created for connector with address null and port 8091 说明:最大线 ...
- 是否支持css3
/** * Function to check css3 support * @param {String} declaration name * @return {Boolean} */ funct ...
- Script循环语句 的相关知识跟练习
循环语句有两种问题类型:穷举和迭代 穷举: 在不知道什么情况下才是我们需要的结果的时候,只能让它一个一个的都执行一遍 迭代:在现有的条件下,根据规律,不断求解中间情况,最终推选出结果 两个关键词 br ...
- Good Firewall(字典树 HDU4760)
Good Firewall Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...