Struts內部流程:
當接收到一個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
posted on 2007-08-23 09:13
jiadong 閱讀(5911)
評論(4) 編輯 收藏