浅谈Webwork2执行流程

1.服务启动的时候,ServletDispatcher 通过DefaultConfiguration 先加载 webwork.properties 和default.properties ,并查找 webwork.properties 中 webwork.custom.properties 配置的其他属性文件加载。加载完毕后再通过属性中配置的 webwork.custom.i18n.resources 加载国际化资源文件供以后使用。之后再查找 webwork.configuration 属性看是否用户指定了自己的Configuration 实现,如果有就用用户自己的Configuration 实现,否则返回 WebWork自己的实现(DelegatingConfiguration)。大部分情况下,使用 WebWork 自己的实现已经足够,用户不需要自己去实现一个Configuration,除非你想加载XML 等格式的配置文件。
 

2.每一个以*.action 结尾的请求,都会被映射到ServletDispatcher 调度器的service 方法进行处理。首先把init 方法读取的encoding 、locale 配置设置到request 和response 中,之后对request 进行判断,看是否属于多类型参数(multipart/formdata)的请求,如果是,则根据WebWrok 配置信息对request 进行相应的包装。包装完request 对象后,service 方法又调用了ServletDispatche日、 自身的serviceAction 方法,在该方法中调用了createContextMap创建Action 上下文,并通过ActionProxyFactory 创建ActionProxy 实例,ActionProxy又会调用ConfigurationManager 去读取XWork 的配置信息并获得当前请求的Action 的所有配置信息,之后遍历执行这个Action 对应的所有拦截器,然后执行Action 对应的方法(默认的是execute),再根据Action 执行返回的值去调用执行相应的Result(返回结果处理)的方法做一定的处理后,把输出结果返回给客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值