http://www.ibm.com/developerworks/cn/java/j-lo-struct2/
简介: 本文首先探讨了 Struts2 核心控制器的源码,以帮助解读 Struts2 的工作流程。接着讲解相关外围类。最后对 Struts 的工作流程进行完整总结。
相信熟悉 Struts1 的程序员,对 Struts2 会迷惑,凡事是是而非。我也曾经遇到了这种情况。Struts2 在设计的时候采用 webwork 的内核,尽量按照 Struts1 的编码习惯。
我不知道各位怎么学习 Struts1,当我阅读了核心控制器 org.apache.struts.action.ActionServlet 的源码后,感到对 Struts1 的工作机制豁然开朗。 Struts2 同样也是 MVC 框架,但核心控制器是过滤器 org.apache.struts2.dispatcher.FilterDispatcher。
感谢网上对 Struts2 工作机制研究并且愿意跟大家分享的热心人,我在学习 Struts2 的时候得到很多帮助。如果你不是很有经验的程序员,我说的很多东西你可能立刻理解不了。如果有时间,我会做成 ppt,也希望给大家讲解,共同交流进步。
如果你需要亲自动手实践,学习源码,请下载以下的 2 个 jar 包。
图 1. 官方源码包
工作流程的官方描述
我们从看官方的流程图开始。当本篇文章结束的时候,我们会再一遍来看它。
图 2. 官方工作流程图