上一篇博客通过一个简单的小样例对struts2的流程有一个简单的了解,这篇博客继续。
当用户要登陆某一个站点。输入username,password,点击登陆就会触发以下一系列过程 :
1、请求过来之后会经过一系列的过滤器Filter。FilterDispatcher被调用
2、FilterDispatcher询问ActionMapper决定这个请求是否须要调用LoginAction
3、假设决定要调用LoginAction,FilterDispatcher把请求的处理交给ActionProxy
4、代理通过询问配置文件。创建ActionInvocation实例
5、调用一系列的拦截器
6、Action运行完成,返回结果。ActionInvocation负责依据struts.xml中的配置找到相应的返回结果,返回到JSp,显示出来。
下图是类中比較粗粒度的调用关系:
採用时序图当中重要的几个类的调用关系:
Struts2的工作流程是Struts2的一个核心内容。后面其它的内容也是环绕着它的工作流程,是在此基础上的扩展。这篇博客也能够说是对前篇的一个理论上的更详细的描写叙述。