(1)首先发送请求,匹配访问路径和struts.xml的action标签name属性是否一样
ActionMapper
(2)如果一样,创建action代理对象
ActionProxy
(3)执行action的方法,执行方法之前执行很多的拦截器,执行顺序是1 2 3
(4) 最后一个拦截器执行之后执行action的方法,方法执行之后有返回结果
(5)在页面显示,显示过程是响应过程,这个过程执行拦截器,执行顺序 3 2 1
首先发送请求,经过一些过滤器,(好多过滤器,过滤链),然后调用FilterDispatcher核心控制器,它调用ActionMapper获得请求的信息,获得访问路径
然后去拿着信息去找struts2配置文件,匹配访问路径和struts.xml的action标签name属性是否一样,如果一样,创建ActionProxy代理类,经过默认20个拦截器(1,2,3,..)后,通过反射(配置文件里配置了action的全限定类名),执行对应的action的方法(最后一个拦截器执行完执行方法),方法执行后返回结果,拿着方法的返回值去找配置文件的result标签,比较result的name标签和返回值是否一样,一样响应请求(这个过程也会执行拦截器,执行顺序....3 2 1)
本文详细介绍了Struts2框架的请求处理流程,包括请求如何被解析、匹配配置文件、创建ActionProxy对象、执行Action方法及其前后所经历的拦截器等关键步骤。

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



