黑马程序员技术交流社区

标题: 请教一下structs2的运行机制及原理 [打印本页]

作者: lvwenwen88    时间: 2011-12-29 22:49
标题: 请教一下structs2的运行机制及原理
本帖最后由 lvwenwen88 于 2011-12-30 22:28 编辑


作者: 杨丹丹    时间: 2011-12-29 22:57
运行机制
1)客户端在浏览器中输入一个url地址。

2)这个url请求通过http协议发送给tomcat。

3)tomcat根据url找到对应项目里面的web.xml文件。

4)在web.xml里面会发现有struts2的配置。

5)然后会找到struts2对应的struts.xml配置文件。

6)根据url解析struts.xml配置文件就会找到对应的class。

7)调用完class返回一个字String,根据struts.xml返回到对应的jsp。


作者: 付星    时间: 2011-12-30 17:39
一个请求在Struts2框架中的处理大概分为以下几个步骤:

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

2)  这个请求经过一系列的过滤器(Filter)。

3)  接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action。

4)  如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。

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

6)  ActionProxy创建一个ActionInvocation的实例。

7)  ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8)  一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。

Struts2的核心就是拦截器。Struts.xml中所有的package都要extends="struts-default"。同理与所有的Java类都要extends自Object一样。struts-default.xml里面就是要做以上事情。


作者: lvwenwen88    时间: 2011-12-30 22:13
本帖最后由 lvwenwen88 于 2011-12-30 22:14 编辑
付星 发表于 2011-12-30 17:39
一个请求在Struts2框架中的处理大概分为以下几个步骤:

1)  客户端初始化一个指向Servlet容器(例如Tomca ...


非常感谢,学习了
作者: 黄小橙    时间: 2014-10-3 16:31
学习了。。。
作者: youyuxiaoyu    时间: 2015-9-25 22:45
共同学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2