#为什么要自己实现Struts2
Struts2是无疑是一个经典的、优秀的框架,实现了MVC模式,层次结构清晰,而且还提供了一些非常有用的插件。当然了,我的目的不是为了介绍Struts2的全部功能,说老实话Struts2的很多功能我都没用过也不知道。虽然这几年Struts2已经式微,逐渐被Spring MVC替代,但是Struts2作为一个曾经非常流行的框架,它整体框架的实现思想无疑是十分优秀的,这系列的文章就会介绍怎么实现一个拥有Struts2框架流程的精简版Struts2。
我们习惯了拿来主义,很多人都不提倡重复造轮子,但是轮子用多了,就可能会丧失创造力。在我看来,实现一个框架,可以让你对它的整体框架有更深刻的思考,提高自己的创造力。引用一下钱老的话
钱学森:手上无剑与有剑不用不是一回事
自己不能造轮子和可以造轮子但是不造是两码事
#需要什么知识
要自己实现一个精简版Struts2,你得知道Java Web的基本知识,像Servlet、Filter什么的,然后你得使用过Struts2,并且了解其中的一些核心功能。我会假设你满足上面的要求。
#Struts2框架执行流程
先贴上一张Struts2的架构图
需要注意的是FilterDispatcher自2.1.3开始就被StrutsPrepareAndExecuteFilter替代了。
现在来介绍一下它是怎么一个流程