
当接收到一个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
本文详细介绍了Struts框架在处理HTTP请求时的工作流程。从接收到HTTP请求开始,到如何通过过滤器链进行处理,再到ActionMapper如何映射请求到具体的Action,以及ActionProxy如何调用拦截器框架和Action本身。最后还介绍了结果返回的过程,包括通过不同类型的Result(如JSP或FreeMarker模板)来响应客户端。
93

被折叠的 条评论
为什么被折叠?



