Struts2的工作流程图
工作流程当接收到一个httprequest
Interceptor做一些拦截或者初始的工作
当外部的httpservletrequest到来时
初始到了servlet容器 传递给一个标准的过滤器链
ActionContextCleanUp这个在集成插件方面非常有用
Other filters(SitMesh,etc) 调用FilterDispatecher会去查找相应的ActionMapper
如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy
ActionProxy将会通过ConfigurationManager来查找配置struts.xml
下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前) 一旦action返回,会查找相应的Result Result类型可以是 jsp或者freeMark 等这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)
响应的返回是通过我们在web.xml中配置的过滤器
如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理 sreadlocal ActionContext 如果ActionContextCleanUp不使用,则将会去清理sreadlocals