今天为了集成struts2,初步阅读了一下他的源代码,主要采用xwork的command模式的框架,他的入口程序是FilterDispatcher,在初始化会读取配置文件完成Configure对象模型的组装,主要包含
configuration --> runtime config
--->package --> action config(exception,result,interceptor)
在运行请求时处理过程如下:
首先取得请求对象的actionmapping
然后调用dispatcher的serviceAction将请求过渡,根据配置取得actionproxy,然后调用actionInvocation进行处理
invocation按照如下过程进行处理
1、过滤器(采用责任链模式,每个过滤器最后调用下一个进行继续处理)
2、处理action
3、处理pre result
4、处理result
完成请求