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。
Struts2框架简单流程介绍相关推荐
- OpenCart框架运行流程介绍opencart资料链接
opencart 主要文件夹结构和文件说明 opencart 单入口文件简单分析 opencart中文使用手册 opencart 模块开发详解 OpenCart源码目录结构详解 opencart中的l ...
- Struts2框架简单入门
Struts2框架简单入门 1.前言 2.Struts2简介 2.1.Struts2介绍 2.2.Struts2优缺点 2.2.1.优点 2.2.2.缺点 2.2.3.Struts2获取 3.入门案例 ...
- Struts2框架简单介绍
如需,了解Struts2详情,请点击,传送门 工作原理 在Struts2 框架中的处理大概分为以下步骤: 1.客户端初始化一个指向servlet容器(例如Tomcat)的请求. 2.这个请求经过一系列 ...
- Struts2框架执行流程
Struts2源码导入 对于struts2框架它的源代码我们主要使用三部分 struts2核心部分源代码 org.apache.struts2xx src\core\src\main\java str ...
- Scrapy源码阅读分析_1_整体框架和流程介绍
From:https://blog.csdn.net/weixin_37947156/article/details/74435304 Scrapy github 下载地址:https://githu ...
- 聊聊ThoughtWorks面试(郑大版 社招)+ PS:应届生简单流程介绍
聊聊ThoughtWorks面试 Tag: ThoughtWorks 面试 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://dreamhead.blogbus.com ...
- 响应式框架简单知识介绍
响应式框架英文 respond layout意在实现不同屏幕分辨率的终端上浏览网页的不同展示方式.通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验. 一.出现的背景 在移动互联日益成熟的时 ...
- java struts2 框架 入门简介
目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...
- struts2框架之struts框架介绍
如今,在Java Web 学习中,框架的学习是很重要的一个环节,大家很熟悉的名词SSH,代表的就是Struts.Spring.Hibernate三大框架.SSH也是现如今企业主流的JavaEE开发的一 ...
最新文章
- dhcp动态主机配置协议
- Linux命令grep
- 自己动手实现一个MVVM库
- Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间
- OutOfMemoryError与StackOverFlowError
- python获取电脑硬件信息_Python实现的读取电脑硬件信息功能示例
- 高德软件测试工资,【高德工资】软件测试工程师待遇-看准网
- 基本数据类型之间的运算
- REST WebService与SOAP WebService的比较
- 第十二届蓝桥杯省赛:试题 A: 卡片(Java)
- 给想进大厂的同学一条忠告!
- ue4 umg帧动画
- 台式计算机启用时间查看,告诉你WIN7怎么查看电脑本次开机时间
- java中级程序员_java中级程序员路线图(黑马)
- Arduino Uno 实验11——MQ-3酒精乙醇传感器模块
- CUDA快速傅里叶变换 cuFFT
- 搜索引擎下拉菜单 提示关键词 接口API (百度长尾词 淘宝长尾词)
- 三维GIS可视化技术在智慧城市基本建设中的作用
- android垃圾清理动画,Android 6.0系统 内存和缓存清理及相关动画
- React躬行记(2)——JSX
热门文章
- PPP精密单点定位GAMP(一)
- repeat()方法的使用
- SHBrowseForFolder 打开默认路径
- android 背景色阴影,Android 阴影背景的四种实现方式
- 【动态内存管理】动态内存函数简析
- 数字经济时代工业互联网网络安全国际标准研究及启示
- Python程序退出方式小结
- 堆和堆排序:为什么说堆排序没有快速排序快
- QT 生成.so动态库默认生成.so .so.1 .so.1.0 .so.1.0.0
- C语言实现电驴下载完成后自动关机