Struts2框架简单介绍
如需,了解Struts2详情,请点击,传送门
工作原理
在Struts2 框架中的处理大概分为以下步骤:
1.客户端初始化一个指向servlet容器(例如Tomcat)的请求。
2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的继承很有帮助,例如:SiteMesh Plugin)。
3.接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action。
4.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。
5.ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。
6.ActionProxy创建一个ActionInvocation的实例。
7.ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(intercepter)的调用。
8.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回的结果通常是(但不总是,也可能是另外一个Action链)一个需要被表示的jsp或者freemaker的模板。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。
工作流程
1.客户端在浏览器输入url地址。
2.这个url请求通过http协议发送给tomcat。
3.tomcat根据url找到对应项目里面的web.xml。
4.在web.xml里会发现struts2的配置
5.然后会找到struts2对应的struts.xml配置文件。
6.根据url解析struts.xml配置文件就会找到对应的class。
7.调用完class返回一个字String,根据struts.xml返回到对应的jsp。
转载于:https://www.cnblogs.com/tizer/p/11391015.html
Struts2框架简单介绍相关推荐
- Struts2的简单介绍
1.Struts 2是Struts的下一代产品,是在 struts1和WebWork的技术基础上进行了合并的全新的Struts2框架.其全新的Struts2的体系结构与Struts1的体系结构差 ...
- Struts2框架简单入门
Struts2框架简单入门 1.前言 2.Struts2简介 2.1.Struts2介绍 2.2.Struts2优缺点 2.2.1.优点 2.2.2.缺点 2.2.3.Struts2获取 3.入门案例 ...
- Django - Django框架 简单介绍
Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...
- soul框架简单介绍与设计模式分析
soul框架简单介绍与设计模式分析 1. 初识 1.1 查看官网文档了解 1.2. 目标: 2. 分析源码 2.1. 网关的实现原理 2.1.1. 跨域请求问题 2.1.2. 网关请求处理 2.1.3 ...
- Rebound动画框架简单介绍
Rebound动画框架简单介绍 Android菜鸟一枚,有不对的地方希望大家指出,谢谢. 最近在接手了一个老项目,发现里面动画框架用的是facebook中的Rebound框架,由于以前没听说过,放假时 ...
- 【修真院Java小课堂】Tiles框架简单介绍
大家好,我是IT修真院上海分院第6期的学员,一枚正直纯洁善良的程序员 今天给大家分享一下,Tiles框架简单介绍 Tiles框架简单介绍 背景介绍 什么是Tiles Tiles 是一种JSP布局框架, ...
- Struts2框架简单流程介绍
如需,了解Struts2详情,请点击,传送门 工作原理 在Struts2 框架中的处理大概分为以下步骤: 1.客户端初始化一个指向servlet容器(例如Tomcat)的请求. 2.这个请求经过一系列 ...
- Spring 框架简单介绍
考虑到你可能不熟悉 Spring,我这里对它做下简单介绍.我们常说的 Spring 框架,是指 Spring Framework 基础框架.Spring Framework 是整个 Spring 生态 ...
- 玩转人工智能(3)常用的大数据框架简单介绍
时光不老,我们不散. 讲大数据框架前,简单的介绍下大数据的文化.信息时代人类社会的进步得益于分享和开源.大数据时代属于信息时代的第三代发展阶段(2001年到2011年可以认为是CT行业的黄金期,200 ...
最新文章
- springboot-26-springboot 集成rabbitmq
- 解析目标检测全流程!附代码数据
- Nature Methods:基于人工重组菌群数据的宏基因组的软件评估金标准
- python运行py文件参数错误_Pycharm运行加载文本出现错误的解决方法
- php代码升级更新机制,php如何实现更新功能
- 对Web设计和开发人员有用的15个Chrome插件
- 利用sqoop将hive数据导入导出数据到mysql
- 20应用统计考研复试要点(part11)--应用多元分析
- LeetCode 1136. 平行课程(拓扑排序)
- mysql创建联合唯一索引
- java 并发 异步_Java并发 CompletableFuture异步编程的实现
- 使用 Swiftype 给 Hexo 搭建的博客添加站内搜索功能
- mysql 如何避免间隙锁_Mysql Innodb 间隙锁浅析
- python学期总结
- unity webgl踩坑指南
- Timer Class(计时器类别)
- NSNumber Compare的崩溃
- fresco android 6.0 不支持 gif,Fresco Gif加载优化
- Python自然语言处理 | 编写结构化程序
- 真人口播视频号:流量不愁,变现才是重中之重丨国仁网络