struts2(十一)运行流程


struts2 体系结构图:

这里写图片描述

运行流程:

>客户端初始化一个指向Servlet容器(例如Tomcat)的(HttpServletRequest)请求;

>请求通过一系列的过滤器,例如会依次通过ActionContext CleanUp,其他过滤器(Othter Filters、SiteMesh等),FilterDispatcher;

注:从struts2.1.3后就不需要配置ActionContextCleanUp过滤器了,该过滤器的作用是清空值栈等,但struts会留下自己session和Attribute等

>StrutsPrepareAndExecuteFilter是控制器的核心,就是MVC的Struts 2实现中控制层(Controller)的核心。StrutsPrepareAndExecuteFilter询问ActionMapper是否需要调用某个Action来处理这个(HttpServletRequest)请求,如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter则把请求的处理交给ActionProxy;

> ActionProxy 通过 ConfigurationManager 询问框架的配置文件,确 定需要调用的 Action 类及 Action 方法

>ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化;

>ActionInvocation 实例在调用 Action 的过程前后,涉及到相关拦截 器(Intercepter)的调用;

>Action 执行完毕,ActionInvocation 负责根据 struts.xml 中的配 置找到对应的返回结果。调用结果的 execute 方法,渲染结果。在渲染 的过程中可以使用 Struts2 框架中的标签;

>执行各个拦截器 invocation.invoke() 之后的代码;

>把结果发送到客户端 。

时序图:

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值