struts2的工作原理

本文详细介绍了Struts2框架的执行流程,包括客户端请求如何被处理、ActionMapper的工作原理、ActionProxy的角色以及ActionInvocation如何调度拦截器和Action。同时探讨了FilterDispatcher的功能及其在流程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.客户端初始化一个指向Servlet容器的请求,
2.这个请求经过一系列的过滤器(ActionContextClearUp等)
3.FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否调用某个Action.
4.如果ActionMapper决定调用这个个Action,FilterDispatcher就把请求的处理交给ActionProxy;
5.ActionProxy通过Configuration Manager询问配置文件,找到需要调用的Action
6.ActionProxy创建一个ActionInvocation的实例
7.ActionInvocation的实例是使用命令模式来调用的,在调用action的过程前后,涉及到相关拦截器(interceptor)
8.一旦Action执行完毕,Actioninvocation负责根据struts.xml中的配置文件找到相应的返回结果


org.apache.struts2.dispatcher.FilterDispatcher的作用:
 1.执行Actions
   过滤器通过ActionMapper对象来判断是否被映射到Action,如果ActionMapper允许被映射,过滤链将会被终止
 2.清除ActionContext
   过滤器为了确保内存溢出会自动的清除ActionContext
 3.维护静态内容
 4.清除request生命周期内的XWork的interceptors

ActionInvocation就是Action的调用者。ActionInvocation在Action的执行过程中,负责Interceptor、Action和Result等一系列元素的调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值