您的位置:首页 > 编程语言 > Java开发

struts2运行流程笔记大话

2012-11-26 14:31 309 查看
tomcat接收来自浏览器的请求,找到url中的项目名称,tmpm,到wepapp里面找到tmpm的app
找到项目里面的web.xml文件,查找当前的请求怎么处理,
struts2里面的所有.action的请求
都交给filterdispather这个过滤器来处理web容器会获取filterdispather这个实例,然后调用doFilter方法,
filterdispathcer是前端控制器,是struts2的核心,请求通过层层过滤器,最后到达了filterdispatcher过滤器
filterdispatcher把请求交给actionMapper,actionMapper查找请求是否有相关的映射
,查到后,告知filterdispather这个请求需要处理,filter知道后就实例化一个actionproxy
,ap这玩意刚出来,不知道自己要处理什么action,
他手里只有一个从filterdispatcher拿过来的url,怎么办呢,他回去找到管理员configmanager
,cm负责维护struts.xml,cm是一个很牛逼的家伙,他相当于struts.xml在内存里面的印象,
(不是太明白) ok,服务器项目一起起来,cm就会把struts.xml的信息写到内存里面缓存起来,所以说当有请求到达这一步时
cm就可以直接到内存里面读取antion在struts.xml的映射
ok,cm找了一会,很快找到了,告诉actionProxy这个请求对应什么action以及其他的信息。ok,这个时候
 着手建立actioninvocation,actionInvocation负责action调用的全过程,
ai是个非常牛逼的家伙,他会调用拦截器,ok一个一个的拦截器都通过了
(action里面的对象都有数据了,数据怎么赋值的,就是这边的拦截器干的),
好了就到了我们的action,执行execut方法,执行完毕会返回一个result,ok这时候还不会直接把
result返回,response对象拿着结果,再把所有的拦截器过一遍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: