Struts2 创建Action对象并放入ValueStack的时机

来源:互联网 发布:开罗赛车 车辆数据 编辑:程序博客网 时间:2024/05/17 03:44

1. 创建一个简单的Action

package com.web;public class UserAction {    private String name;    public UserAction(){        //随便加一行代码并添加断点        System.out.println("==创建UserAction对象==");    }    public String execute(){        System.out.println("执行execute方法...");        System.out.println("name========="+name);        return "success";    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}

2. 启动Tomcat服务器调试运行

//调用Action随便传入一个参数http://localhost:8080/struts2Demo/userAction?name=admin

进入执行调试视图,方法的调用栈如下图所示
这里写图片描述
重点阅读DefaultActionInvocation.java的初始化方法,在该方法中完成如下事件

  1. 创建上下文环境
  2. ActionInvocation对象的共享
  3. 创建Action对象
  4. 将Action对象置入ValuesStack中
  5. 创建ActionInvocation的上下文环境
  6. 将拦截器堆栈置于初始调度状态
0 0
原创粉丝点击