• 2012/7/30struts学习随笔


    struts工作流程:

    ①当web server启动时,实例化AxtionServlet,调用其init方法,server通过解析struts-config.xml文件获取配置信息(SAX解析),将配置信息存放在各种配置对象中。

    ②Client发送一个*.Do请求时,ActionServlet查找ActionMapping配置信息<action>元素path属性值,判断是否存在该路径请求,If false:404 error

    ③if true:判断<action>元素是否有name属性,if false:创建action,调用execute方法响应Client请求。

    ④if true:创建对应的actionForm对象(ActionForm对象仅默认创建一次),通过反射机制自动封装数据,创建action,调用execute方法响应Client请求。

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

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

    ②这个请求经过一系列的过滤器(Filter).

    ③接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action.

    ④如果actionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy.

    ⑤AcionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。

    ⑥ActionProxy创建一个ActionInvocation的实例。

    ⑦ActionInvocation实例使用命名模式来调用,在调用Action的过程调用,涉及到有关拦截器的调用。

    ⑧一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外一个action链)一个需要被表示的JSP或者FreeMarker的模板。在表示的过程中可以使用Struts框架中继承的标签。在这个过程中需要涉及到ActionMapper.

  • 相关阅读:
    Codeforces 858B
    区域赛前立FLAG
    GCJ Practice Contest
    UVa 10004 Bicoloring
    UVa 784 Maze Exploration
    Pacemaker+ISCSI实现Apache高可用-环境准备
    多机免密互信
    HAPROXY + Keepalived
    LVS+KEEPALIVED
    oracle-数据库被注入恶意攻击程序的案例恢复
  • 原文地址:https://www.cnblogs.com/howlaa/p/2615005.html
Copyright © 2020-2023  润新知