Struts2执行基本流程

来源:互联网 发布:h3c路由器查看端口ip 编辑:程序博客网 时间:2024/05/28 17:07

1. 首先,用户请求提交后,转到Struts2的前端控制器(FC);


2. 然后,前端控制器会根据配置信息确定要调用的Action ;


3. 在找到要调用的action之后,会先创建一个ValueStack (VS),称为值栈,控制权将被转给ActionProxy代理;

    对于值栈的理解可参考该链接(jerry_xing8的博客):http://www.cnblogs.com/jerryxing/archive/2012/04/23/2467299.html


4. 然后ActionProxy创建一个将要调用Action对象,并把该Action放到VS的栈顶 ;


5. 之后ActionProxy会根据struts.xml配置中该action的配制方法,调用相应的Action的方法,根据输入属性算输出属性;


6. 在调用Action之前(或之后)ActionProxy会调用一系列Interceptor(拦截器);


7. 然后根据Action返回的字符串,确定调用哪个result;


8. 根据相应的result及其type属性,将VS中的数据按照特定的格式输出;


9. 其中,很对情况下,VS将转发到JSP页面上,且默认情况下,result的type属性为dispatcher;


10. JSP页面用Tags(标签)从VS中取出数据并显示。
0 0