Struts2学习笔记1--Struts2简介

1、Struts2的产生

  由于Struts1设计上的缺陷,使它越来越不能满足开发的高要求,于是WebWork进入Struts1开发团队的视线。WebWork引进的新思想、新概念和功能,Struts1具有高市场占有率,于是2个开发团队进行了合作,共同退出了Struts2。

  虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

       

         (图1:Struts2的产生)

2.Struts2的结构  

  一个请求在Struts2框架中的处理分为以下几个步骤:

    2.1 客户端发出一个Http请求到web容器;

    2.2 这个请求会经过图中的几个过滤器(ActionContextCleanUp、其他web应用过滤器),最后会到达FilterDispatcher过滤器(最新版本2.3.16中使用StrutsPrepareAndExecuteFilter);

    2.3 调用FilterDispatcher核心控制器,ActionMapper查找需要调用的Action对象,返回Action对象的代理(ActionProxy);

       2.4 ActionProxy从配置管理器中读取Struts2的相关配置(struts.xml以及它包含的.xml配置文件),然后创建ActionInvocation对象;

    2.5 ActionInvocation在调用Action之前会依次的调用所用配置拦截器,执行结果后返回结果字符串;

    2.6 ActionInvocation负责查找结果字符串对应的(Result),然后执行这个Result, 返回对应的结果视图(如JSP、ftl等) 来呈现页面;

    2.7 调用所用配置拦截器(与2.5中顺序相反),响应(HttpServletResponse)被返回给浏览器。

                    

                                                                                                              (图2:Struts2的结构)

 

posted on 2014-11-24 19:40  巧天工  阅读(1672)  评论(0编辑  收藏  举报

导航