zoukankan      html  css  js  c++  java
  • 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()。

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

    转载请注明出处,谢谢

  • 相关阅读:
    robotframework-requests--中文注解版
    Python猜数小游戏
    走进Selenium新世界
    HTML
    Web测试方法_02
    3.线程死锁
    2.线程--线程安全(synchronized)
    1.线程--线程创建方式
    使用Android-studio开发移动app与weex结合开发详细步骤
    Weex 简介
  • 原文地址:https://www.cnblogs.com/zds-song/p/3718366.html
Copyright © 2011-2022 走看看