Struts2的工作流程

本文详细介绍了Struts2框架的执行流程,从客户端请求开始,依次经历过滤器、ActionMapper、ActionProxy、ActionInvocation等多个组件,最终完成Action的执行并返回结果。

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

一:客户端提交一个HttpServletRequest请求,(.action或JSP页面)
二:请求被提交到一系列的Filter过滤器,如ActionContextCleanUp和FileterDispather等。
三:FilterDispatcher是Struts2的控制核心,它通常是过滤器链中的最后一个过滤器。
四:请求发到FilterDispathcher后,FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个Request(一般根据URL后缀是否为.action来判断)
五:如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求交到ActionProxy,由其进行处理。
六:ActionProxy通过ConfigurationManager(它会访问Struts.xml询问创建的配置文件,找到需要调用的Action类)
七:ActionProxy创建一个ActionInvocation实例,而ActionInvocation通过代理模式调用Action(在调用之后会根据配置文件加载相关的所有Interceptor拦截器)
八:Action执行完毕后,返回一个result字符串,此时再按相反的顺序通过Interceptor拦截器
九:最后ActionInvocation负责根据struts.xml中配置的result,决定进行下一步输出

简化版

①:客户端初始化一个指向Servlet容器的请求
②:请求经过系列过滤器,FilterDispatcher被调用
③:ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
④:ActionProxy通过ConfigurationManager询问框架的配置文件找到需要调用的Action类
⑤:ActionProxy创建一个ActionInvocation实例
⑥:ActionInvocation调用、回调Action的execute方法
⑦:Action执行完毕ActionInvocation,根据struts.xml配置找到对应的返回结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值