Struts2(二)-工作原理

Struts2请求处理流程

由于大四这段时间要追寻Java方向的工作,所以从网上找了视频来学习。听了马士兵老师讲解的Struts2源码再加上自己笨笨的脑袋深思大概一个周左右,总结出自己对Struts2的小小的认识。在此留下笔记,以便复习。

由于工具作图经验不多,所以就用txt来画图,上图





1:(客户端发送一个请求
2:(Tomcat接收到请求后,一系列的过滤器(Filter)会对请求(Request)进行过滤

3:(过滤完成后,StrutsPrepareAndExecuteFilter会被调用
4:(紧接着执行StrutsPrepareAndExecuteFilter里面的DoFilter()方法
5:(在DoFilter()方法里面拿到ActionMapping(url对应着哪个Action)
6:(如果mapping不等于空,就表示ActionMapping已经找到了对应的Action, 接下来的事情就是执行该Action

7:(调用Dispatcher的ServiceAction()方法
8:(在ServiceAction()方法里创建了一个ActionProxy对象,并且调用了ActionProxy对象的execute()方法
9:(execute方法里调用了ActionInvocation(装着一大堆的interceptor拦截器和Action)的invoke()方法
10:(invoke()方法会调用所有的interceotor(拦截器)的intercept()方法
11:(直到interceptor被调用完,开始调用Action
12:(Action返回一个Result

13:(开始回溯,又得穿过所有的拦截器
14:(最后Result信息返回到ActionInvocation产生一个HttpServletResponse
15:(Client接收到Response

至此整个流程完毕!码完好爽的感觉有木有!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值