Struts2 请求处理步骤
2024-10-12 22:02:30
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或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper
最新文章
- 逆向工程 - Reveal、IDA、Hopper、HTTPS抓包 等
- 8.3 使用Fluent API进行属性映射【Code-First系列】
- Atitit.报名模块的管理
- [转]-CSS 元素垂直居中的6种方法
- LCIS 最长公共上升子序列
- Java项目中基于Hibernate分页总结
- Git学习之路(5)- 同步到远程仓库及多人协作问题
- 论事件驱动与异步IO
- 在Linux上搭建测试环境常用命令(转自-测试小柚子)
- 基于C#的钉钉SDK开发(1)--对官方SDK的重构优化
- Spring MVC全局异常处理
- Win32API标准模板
- @font-face使用在线字体
- 软工实践第二次作业-sudoku
- codeforces 797B
- what's the 单例模式
- activemq消息队列的使用及应用docker部署常见问题及注意事项
- Java 条件编译
- DIV+CSS兼容解决DIV最大宽度和最小宽度问题
- 解决python执行linux查看文件命令后,因为^@特殊符号导致部分内容不显示的问题