• Struts2.1的运行流程的简单分析(个人见解)


    Struts2.1的运行流程大致分为以下几个步骤:

    1.用户输入URL请求,该请求被StrutsPrepareAndExecuteFilter拦截,根据welcome-file属性的设置跳转到相应的jsp页面。

    2.用户在jsp页面发出的相应的处理请求。

    3.该处理请求也会被StrutsPrepareAndExecuteFilter拦截,首先清理当前线程的ActionContext和Dispatcher防止内存的泄露,接下来询问ActionMapper(Action映射器)来决  定这个请求是否需要调用某个Action,由于请求一般都是以Structs2.1默认的扩展名“.action”结尾,因此StrutsPrepareAndExecuteFilter把请求的处理交给    ActionProxy(Action的代理)

    4.ActionProxy通过Configuration Manager(配置管理器)询问Structs2.1的配置文件Structs.xml,找到需要调用的Action类以及相应的命名视图和物理映射视图的映射关系

    5.然后ActionProxy会创建一个ActionInvocation(Action的执行环境)的实例,并创建相应Action的实例来处理相应的请求

    6.在Action执行环境中首先调用的是Structs2.1自带的一系列内部拦截器或者用户自定义的拦截器(如session过期验证级访问权限验证等),然后在调用validate()方法对表单字段进行有效性的验证,验证过程出错可以调用addFieldError方法添加字段错误信息,并跳转到相应的错误处理页面。如果验证通过这调用指定Action中的execute()。

    注:本人是初学者,这是我从书中总结得到,不知道对大家有没有帮助,望大神吐槽

    转载请注明出处,谢谢

  • 相关阅读:
    docker-5-容器数据卷
    docker-4-镜像
    docker-3-常用命令(下)
    docker-3-常用命令(中)
    docker-3-常用命令(上)
    docker-2-安装
    Python中Unicode字符串
    Python中整数和浮点数
    Python中什么是变量
    Python中数据类型
  • 原文地址:https://www.cnblogs.com/zds-song/p/3718366.html
Copyright © 2020-2023  润新知