Struts2_02_工作原理

下图是官方提供的Struts2的工作原理图:

Struts2的基本实现原理如下:

1.客户端向服务器提交请求,容器初始化HttpServletRequest请求对象;

2.请求对象被一系列的Servlet过滤器过滤;

  过滤器分三种:

  ①ActionContextClearUp:是一个可选的过滤器,主要为了和其他框架的集成;

  ②其他插件的核心过滤器,如SiteMesh的过滤器;

  ③FilterDispatcher过滤器:是Struts2 API中提供的过滤器,必须使用;

3.调用FilterDispatcher,FilterDispatcher会调用ActionMapper,决定该请求是否需要调用某个Action;

4.如果需要调用某个Action,FilterDispatcher会把请求的处理交给ActionProxy;

5.ActionProxy通过Configuration Manager解析框架的配置文件,找到需要调用的Action类;

6.ActionProxy创建一个ActionInvocation的实例;

7.ActionInvocation实例使用命令模式回调Action中的execute方法,Action调用业务逻辑类完成相应的功能。在调用Action的前后,将调用Action涉及到的相关拦截器(Interceptor);

8.Action执行完毕,ActionInvocation根据struts.xml中的配置找到对应的返回结果(称为result)。返回结果通常是jsp等模版文件;

 

posted @ 2012-08-25 11:43  終囿┅兲  阅读(152)  评论(0编辑  收藏  举报