请求框架struts2的工作原理

废话就不多说了,开始。。。

    struts2并非一个生疏的web框架,它是以Webwork的计划思想为核心,吸收struts1的点优,可以说

    struts2是struts1和Webwork结合的产品。 

    struts2 的作工原理图:

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

    1.客户端收回一个指向servlet器容的请求(tomcat);

    2.这个请求会经过图中的几个过滤器,最后会达到FilterDispatcher过滤器。

    3.过滤器FilterDispatcher是struts2框架的心脏,在理处用户请求时,它和请求起一相互配合拜访struts2

  的底层框架结构。在web器容启动时,struts2框架会自动载加配置文件里关相参数,并转换成响应的类。

  如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一

  些基本息信,ActionMapper存有action的配置息信。在请求程过中全部的象对(Action,Results,

  Interceptors,等)都是通过ObjectFactory来建创的。过滤器会通过讯问ActionMapper类来找查请求中

  要需用到的Action。

    4.如果找到要需用调的Action,过滤器会把请求的理处交给ActionProxy。ActionProxy为Action的代理象对

  。ActionProxy通过ConfigurationManager讯问框架的配置文件,找到要需用调的Action类。

    5.ActionProxy建创一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表现了

  Action的行执状态,或者说它控制的Action的行执步调。它持有Action实例和全部的Interceptor。 

    6.ActionInvocation实例应用命名模式来用调,1. ActionInvocation初始化时,根据配置,载加Action相

  关的全部Interceptor。2. 通过ActionInvocation.invoke方法用调Action实现时,行执Interceptor。在

  用调Action的程过前后,涉及到关相拦截器(intercepetor)的用调。

    7. 一旦Action行执终了,ActionInvocation责负根据struts.xml中的配置找到对应的返回结果。返回结果

    每日一道理
微笑着,去唱生活的歌谣,不要埋怨生活给予了太多的磨难,不必抱怨生命中有太多的曲折。大海如果失去了巨浪的翻滚,就会失去雄浑;沙漠如果失去了飞沙的狂舞,就会失去壮观。人生如果仅去求得两点一线的一帆风顺,生命也就失去了存在的意义。

  通常是(但不是总,也是能可另外的一个Action链)一个要需被表现的JSP或者FreeMarker的模版。在表

  示的程过中可以应用Struts2 框架中继承的标签。

    请求和框架

    

单简地说:客户端收回一个请求,服务器端 StrutsPreparedAndExceuteFilter接收请求,如果该请求是一个以 .action 尾结请求,则Struts2将请求转发至响应的Action,停止数据类型转换,如果数据类型转换错出,则返回到 input 指定的结果面页,如果数据类型转换没有错出,则用调setXX 方法停止设值,如果应用了validate()验证方法(或者是应用了验证框架),则停止响应的验证,如果验证错出,回到 input 指定的结果面页,如果没有应用验证,或者验证没有错出,则行执 execute() 方法,返回到响应的面页

文章结束给大家分享下程序员的一些笑话语录: 祝大家在以后的日子里. 男生象Oracle般健壮; 女生象win7般漂亮; 桃花运象IE中毒般频繁; 钱包如Gmail容量般壮大, 升职速度赶上微软打补丁 , 追女朋友像木马一样猖獗, 生活像重装电脑后一样幸福, 写程序敲代码和聊天一样有**。

posted @ 2013-05-06 20:02  xinyuyuanm  阅读(213)  评论(0编辑  收藏  举报